Submission details
Task:Conversation Log
Sender:OOliOO_slayer
Submission time:2015-11-25 17:02:49 +0200
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.06 sdetails
#2ACCEPTED0.07 sdetails
#3ACCEPTED0.06 sdetails
#4ACCEPTED0.42 sdetails
#5ACCEPTED0.34 sdetails
#6ACCEPTED0.29 sdetails
#7ACCEPTED0.05 sdetails
#8ACCEPTED0.06 sdetails
#9ACCEPTED0.06 sdetails

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:55:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i = 0; i < v.size(); i++){
                      ^

Code

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <map>
#include <sstream>
#include <utility>
#include <set>

using namespace std;
typedef long long LL;

int main(){
    cin.tie(0);
    ios_base::sync_with_stdio(0);
    string asd;
    int n; cin >> n; getline(cin,asd);
    map<string,int> counts;
    map<string, set<string> > user_to_words;
    for(int i = 0; i < n; i++){
        string line; getline(cin,line);
        stringstream ss(line);
        string user; ss >> user;
        while(true){
            string word; ss >> word;
            counts[word]++;
            user_to_words[user].insert(word);
            if(!ss.good()) {
                break;   
            }
        }
    }

    set<string> intersection = user_to_words.begin()->second;
    for(auto p : user_to_words){
        set<string> next;
        for(auto word : p.second){
            if(intersection.count(word) == 1)
                next.insert(word);
        }
        intersection = next;
    }
    
    vector<pair<int,string> > v;
    for(auto word : intersection){
        v.push_back({-counts[word],word});
    }
    sort(v.begin(), v.end());
    
    if(v.size() == 0){
        cout << "ALL CLEAR\n";
        return 0;
    }
    
    for(int i = 0; i < v.size(); i++){
        cout << v[i].second << "\n";
    }
    
}

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