제출 #358642

#제출 시각아이디문제언어결과실행 시간메모리
358642daniel920712크레이피쉬 글쓰는 기계 (IOI12_scrivener)C++14
0 / 100
458 ms262144 KiB
#include <stack> #include <vector> using namespace std; char last; int now=0; int how=0; int ok=0,N=0; vector < char > tt; vector < pair < int , int > > all; pair < int , int > con[30][1000005]; void Init() { int i,j; for(i=0;i<=25;i++) for(j=0;j<=1000000;j++) con[i][j]=make_pair(0,0); } void TypeLetter(char L) { int i; now++; tt.push_back(L); N++; con[0][now]=make_pair(now-1,1); for(i=1;i<=30;i++) { con[i][now].first=con[i-1][con[i-1][now].first].first; con[i][now].second=con[i-1][con[i-1][now].first].second+con[i-1][now].second; } } void UndoCommands(int U) { int i; now++; tt.push_back('0'); con[0][now]=make_pair(now-U,0); for(i=1;i<=30;i++) { con[i][now].first=con[i-1][con[i-1][now].first].first; con[i][now].second=con[i-1][con[i-1][now].first].second+con[i-1][now].second; } } char GetLetter(int P) { int t=now,M=0,i; for(i=25;i>=0;i--) { if(M+con[i][t].second<N-P) { M+=con[i][t].second; t=con[i][t].first; } } return tt[t-1]; }

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

scrivener.cpp: In function 'void TypeLetter(char)':
scrivener.cpp:28:26: warning: iteration 29 invokes undefined behavior [-Waggressive-loop-optimizations]
   28 |         con[i][now].first=con[i-1][con[i-1][now].first].first;
      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
scrivener.cpp:26:14: note: within this loop
   26 |     for(i=1;i<=30;i++)
      |             ~^~~~
scrivener.cpp: In function 'void UndoCommands(int)':
scrivener.cpp:42:26: warning: iteration 29 invokes undefined behavior [-Waggressive-loop-optimizations]
   42 |         con[i][now].first=con[i-1][con[i-1][now].first].first;
      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
scrivener.cpp:40:14: note: within this loop
   40 |     for(i=1;i<=30;i++)
      |             ~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...