Submission details
Task:Conversation Log
Sender:wavelets
Submission time:2015-11-25 17:19:21 +0200
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.05 sdetails
#2ACCEPTED0.05 sdetails
#3ACCEPTED0.07 sdetails
#4ACCEPTED0.47 sdetails
#5ACCEPTED0.40 sdetails
#6ACCEPTED0.41 sdetails
#7ACCEPTED0.06 sdetails
#8ACCEPTED0.06 sdetails
#9ACCEPTED0.04 sdetails

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