Submission #512799

#TimeUsernameProblemLanguageResultExecution timeMemory
512799algorithm16Languages (IOI10_languages)C++14
0 / 100
1474 ms15616 KiB
#include<iostream> #include<set> #include<algorithm> #include "grader.h" #include "lang.h" using namespace std; typedef long long int llint; set <llint> s[65],s1; llint e[105],cnt1[70005]; void excerpt(int *E) { s1.clear(); for(int i=0;i<100;i++) { e[i]=E[i]; cnt1[e[i]]+=1; s1.insert(e[i]); if(i>=50) s1.insert(e[i-1]*1e5+e[i]); //if(i && i%4) s1.insert(e[i-1]*1e5+e[i]); //if(i>1 && i%4==0) s1.insert(e[i-2]*1e10+e[i-1]*1e5+e[i]); } for(int i=1;i<100;i+=e[i]%2+1) { s1.insert(e[i-1]*1e5+e[i]); } for(int i=2;i<100;i+=e[i]%2+1) { s1.insert(e[i-2]*1e10+e[i-1]*1e5+e[i]); } llint mx=0,idx=0; for(int i=0;i<56;i++) { if(s[i].size()<=mx) continue; llint cnt=0; for(set <llint>::iterator it=s1.begin();it!=s1.end();it++) { if((*it)<65536) cnt+=(s[i].find(*it)!=s[i].end())*cnt1[(*it)]*23; else cnt+=(s[i].find(*it)!=s[i].end())*100; } if(cnt>mx) { mx=cnt; idx=i; } } int l=language(idx); for(set <llint>::iterator it=s1.begin();it!=s1.end();it++) { s[l].insert(*it); } for(int i=0;i<100;i++) { cnt1[e[i]]-=1; } }

Compilation message (stderr)

lang.cpp: In function 'void excerpt(int*)':
lang.cpp:28:17: warning: comparison of integer expressions of different signedness: 'std::set<long long int>::size_type' {aka 'long unsigned int'} and 'llint' {aka 'long long int'} [-Wsign-compare]
   28 |   if(s[i].size()<=mx) continue;
      |      ~~~~~~~~~~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...