| 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 |
