Task: | Conversation Log |
Sender: | wavelets |
Submission time: | 2015-11-25 17:19:21 +0200 |
Language: | C++ |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.05 s | details |
#2 | ACCEPTED | 0.05 s | details |
#3 | ACCEPTED | 0.07 s | details |
#4 | ACCEPTED | 0.47 s | details |
#5 | ACCEPTED | 0.40 s | details |
#6 | ACCEPTED | 0.41 s | details |
#7 | ACCEPTED | 0.06 s | details |
#8 | ACCEPTED | 0.06 s | details |
#9 | ACCEPTED | 0.04 s | details |
Code
#include <iostream> #include <string> #include <sstream> #include <unordered_set> #include <unordered_map> #include <algorithm> using namespace std; int main(){ int m; cin>>m; unordered_map<string,int> wrd; unordered_map<string,int> ucnt; unordered_map<string,unordered_set<string>> usr; while(m--){ string line; string user; cin>>user; getline(cin,line); istringstream ss(line); string w; if(usr.count(user)==0)usr.insert({user,unordered_set<string>()}); while(ss>>w){ if(ucnt.count(w)==0)ucnt[w]=0; if(wrd.count(w)==0)wrd[w]=0; if(usr[user].count(w)==0)usr[user].insert(w),++ucnt[w]; ++wrd[w]; } } int uc=usr.size(); vector<pair<int,string>> cnts; for(auto& it:wrd){ if(ucnt[it.first]<uc)continue; cnts.push_back({-it.second,it.first}); } if(cnts.size()){ sort(cnts.begin(),cnts.end()); for(auto& it:cnts){ cout<<it.second<<'\n'; } }else cout<<"ALL CLEAR\n"; return 0; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
4 user1 chomp chomp chomp chomp ... |
correct output |
---|
chomp |
user output |
---|
chomp |
Test 2
Verdict: ACCEPTED
input |
---|
3 user1 doubledutch double doubl... |
correct output |
---|
double doubledutch dutch |
user output |
---|
double doubledutch dutch |
Test 3
Verdict: ACCEPTED
input |
---|
10000 jli double mthorpe tastic rjh pneumonoultramicroscopicsi... |
correct output |
---|
pneumonoultramicroscopicsilico... |
user output |
---|
pneumonoultramicroscopicsilico... |
Test 4
Verdict: ACCEPTED
input |
---|
10000 dwsozemhmiupnsnisans s i u a y... |
correct output |
---|
ALL CLEAR |
user output |
---|
ALL CLEAR |
Test 5
Verdict: ACCEPTED
input |
---|
100 ntgvyctezqvnefwcxhqj e o b r v... |
correct output |
---|
k x g i l ... |
user output |
---|
k x g i l ... |
Test 6
Verdict: ACCEPTED
input |
---|
2 ukzoyurigzzhuxnssizv i m n r a... |
correct output |
---|
m e f u n ... |
user output |
---|
m e f u n ... |
Test 7
Verdict: ACCEPTED
input |
---|
3 James gobble de gook Bill gobble james de gook |
correct output |
---|
ALL CLEAR |
user output |
---|
ALL CLEAR |
Test 8
Verdict: ACCEPTED
input |
---|
5 user1 hello world user2 foo bar user3 baz quux user4 ear wig ... |
correct output |
---|
ALL CLEAR |
user output |
---|
ALL CLEAR |
Test 9
Verdict: ACCEPTED
input |
---|
3 user1 jibble jibble tastic user2 tastic jibble jibble user3 jibble tastic jibble |
correct output |
---|
jibble tastic |
user output |
---|
jibble tastic |