AOJ 0029 English Sentence
#include <iostream> #include <string> #include <map> using namespace std; int main(){ string s, max(""); map<string, int> w; map<int, string> x; while(cin>>s){ if(s.size() > max.size()) max = s; w[s]++; } for(map<string, int>::iterator it = w.begin(); it != w.end(); it++) x[(*it).second] = (*it).first; cout<<(*x.rbegin()).second<<" "<<max<<endl; return 0; }
例によってmapの使い方がアレだったりわりと遅いコードだったりしますが比較的短かめなので良しとしよう。