Submission #574324

#TimeUsernameProblemLanguageResultExecution timeMemory
574324keta_tsimakuridzeCrayfish scrivener (IOI12_scrivener)C++14
34 / 100
120 ms262144 KiB
#include<bits/stdc++.h> #define prev Prev using namespace std; const int N = 1000005; int id, c[N][25], prev[N], len[N]; vector<char> s; string S[N]; void Init() { s.push_back('0'); } void TypeLetter(char L) { id++; S[id] = S[id - 1] + L; c[id][0] = id; s.push_back(L); len[id] = len[id - 1] + 1; prev[id] = c[id - 1][0]; for(int i = 1; i < 20; i++) { c[id][i] = c[prev[c[id][i - 1]]][i - 1]; } } void UndoCommands(int U) { ++id; s.push_back('0'); int x = id - U - 1; len[id] = len[x]; S[id] = S[x]; for(int i = 0; i < 20; i++) c[id][i] = c[x][i]; } char GetLetter(int P) { int x = c[id][0]; return S[id][P]; P = len[id] - P; for(int i = 20 - 1; i >= 0; i--) { if((1 << i) < P) x = prev[c[id][i]], P -= 1 << i; } return s[c[id][0]]; }

Compilation message (stderr)

scrivener.cpp: In function 'char GetLetter(int)':
scrivener.cpp:30:6: warning: variable 'x' set but not used [-Wunused-but-set-variable]
   30 |  int x = c[id][0];
      |      ^
#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...