Submission #393256

#TimeUsernameProblemLanguageResultExecution timeMemory
393256HazemCrayfish scrivener (IOI12_scrivener)C++14
60 / 100
1086 ms86604 KiB
#include <bits/stdc++.h> //#include "grader.h" #pragma GCC optimization ("O3") using namespace std; #define S second #define F first #define LL long long const int N = 1e6+1; const LL MOD = 1e9+7; const LL LINF = 1e18; const LL INF = 1e9; char s[N]; int par[21][N],len[N]; int cnt = 1; char last; void Init() {} void buildst(int x,int pr){ par[0][x] = pr; len[x] = len[pr]; int cur = pr; for(int i=1;i<=20;i++) par[i][x] = par[i-1][cur],cur = par[i-1][cur]; } void TypeLetter(char L) { buildst(cnt,cnt-1); len[cnt]++; s[cnt] = L; cnt++; } void UndoCommands(int U) { buildst(cnt,cnt-U-1); cnt++; } char GetLetter(int P) { cnt--; P++; int cur = cnt; for(int i=20;i>=0;i--) if(len[par[i][cur]]>=P)cur = par[i][cur]; cnt++; return s[cur]; }

Compilation message (stderr)

scrivener.cpp:3: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
    3 | #pragma GCC optimization ("O3")
      |
#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...