Submission #2173347


Source Code Expand

#include<iostream>
using namespace std;

const int MAX = 50;
int main() {
	int N;
	pair<string, int> S[MAX];
	string tmp;
	int length = 0;
	bool b;
	cin >> N;
	for (int i = 0;i < N;i ++) {
		cin >> tmp;
		b = true;
		for (int i = 0;i < length;i ++) {
			if (tmp == S[i].first) { // 同じ投票が見つかった
				S[i].second ++; // 投票数+1
				b = false;
				break;
			}
		}
		if (b) {
			S[length] = make_pair(tmp, 1); // 新しい投票先
			length ++;
		}
	}
	int max = 0;
	string top;
	for (int i = 0;i < length;i ++) {
		if (max < S[i].second) {
			top = S[i].first;
			max = S[i].second;
		}
	}
	cout << top << endl;
	return 0;
}
/*
31536000のコメント解説欄
ここテンプレで用意してるから、A問題とかだとこの先空欄の危険あり

ちょっと計算に無駄があるけど、投票を読み込む度に既存の名前ならその人の投票数に+1、
新しい名前ならその名前と投票数1を作る形式でやってるよ
で、最後に最も得票数が多い人を表示。O(N^2)だね
*/

Submission Info

Submission Time
Task B - 投票
User cirno3153
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1093 Byte
Status AC
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 3
AC × 18
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, case_01.txt, case_02.txt, case_03.txt, case_04.txt, case_05.txt, case_06.txt, case_07.txt, case_08.txt, case_09.txt, case_10.txt, case_11.txt, case_12.txt, case_13.txt, case_14.txt, case_15.txt
Case Name Status Exec Time Memory
case_01.txt AC 1 ms 256 KB
case_02.txt AC 1 ms 256 KB
case_03.txt AC 1 ms 256 KB
case_04.txt AC 1 ms 256 KB
case_05.txt AC 1 ms 256 KB
case_06.txt AC 1 ms 256 KB
case_07.txt AC 1 ms 256 KB
case_08.txt AC 1 ms 256 KB
case_09.txt AC 1 ms 256 KB
case_10.txt AC 1 ms 256 KB
case_11.txt AC 1 ms 256 KB
case_12.txt AC 1 ms 256 KB
case_13.txt AC 1 ms 256 KB
case_14.txt AC 1 ms 256 KB
case_15.txt AC 1 ms 256 KB
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB