Atcoder Beginner Contest 008 B問題 解説

【学んだこと】
配列の最頻値を求めようとしたが、途中でギブアップ。
連想配列で同じ要素が出てきたら加算する発想がなかった。
連想配列の知識が乏しいので勉強します。
あと、scanfで標準入力した方が処理早いらしい。

参考
C++ 連想配列クラス std::map 入門

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <map>
#include<cstdio>
using namespace std;

int main()
{
	int N, max = 0;
	string S, ans;
	/*scanf("%d", &N);*/
	map<string, int> m;
	cin >> N;
	for (int i = 0; i < N; i++) 
	{
		cin >> S;
		m[S]++;
		if (max < m[S]) {
			max = m[S];
			ans = S;
		}
	}
	cout << ans << endl;
	return 0;
}

m[S]++;は変数m[S]に加算しているという認識でおーけーなのかな
よくわからんから教えてけろ
terataleおじさんに聞こう。