제출 #632330

#제출 시각아이디문제언어결과실행 시간메모리
632330ggohLanguages (IOI10_languages)C++14
78 / 100
5460 ms128212 KiB
#include<bits/stdc++.h> #include "grader.h" using namespace std; typedef long long lint; int V[56][65536]; map<lint,int>W[56]; void excerpt(int *E) { int l=0,maxi=0,maxind; int e[65536]={}; for(int i=0;i<100;i++) { e[E[i]]++; if(e[E[i]]>maxi) { maxi=e[E[i]]; maxind=E[i]; } } maxi=0; vector<lint>T; for(int i=0;i<99;i++) { if(E[i]!=maxind && E[i+1]!=maxind) T.push_back(1ll*E[i]*65536+E[i+1]); } sort(T.begin(),T.end()); T.erase(unique(T.begin(),T.end()),T.end()); for(int j=0;j<56;j++) { int kind=0; for(auto &i:T) { if(W[j][i])kind++; } if(kind>maxi) { maxi=kind; l=j; } } if(maxi==0) { vector<int>S; for(int i=0;i<100;i++)if(E[i]!=maxind)S.push_back(E[i]); sort(S.begin(),S.end()); S.erase(unique(S.begin(),S.end()),S.end()); maxi=-1; for(int j=0;j<56;j++) { int kind=0; for(auto &i:S) { if(V[j][i])kind++; } if(kind>maxi) { maxi=kind; l=j; } } } /* vector<int>N; for(int j=0;j<56;j++) { int kind=0; for(int i=0;i<100;i++) { if(V[j][E[i]]) { kind++; } } if(kind==maxi) { N.push_back(j); } } srand(time(NULL)); int r=rand(); r%=(int)(N.size()); l=N[r];*/ int L=language(l); for(int i=0;i<100;i++) { if(E[i]!=maxind)V[L][E[i]]++; } for(int i=0;i<99;i++) { if(E[i]!=maxind && E[i+1]!=maxind)W[L][1ll*E[i]*65536+E[i+1]]++; } }

컴파일 시 표준 에러 (stderr) 메시지

lang.cpp: In function 'void excerpt(int*)':
lang.cpp:93:21: warning: 'maxind' may be used uninitialized in this function [-Wmaybe-uninitialized]
   93 |     if(E[i]!=maxind && E[i+1]!=maxind)W[L][1ll*E[i]*65536+E[i+1]]++;
      |        ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...