Submission #456139

#TimeUsernameProblemLanguageResultExecution timeMemory
456139KhizriCrayfish scrivener (IOI12_scrivener)C++17
26 / 100
360 ms262148 KiB
#include <bits/stdc++.h> #define pb push_back #define F first #define S second #define all(v) (v).begin(),(v).end() using namespace std; const int mxn=1e6+5; int k=0; vector<pair<int,int>>vt; char last; char alp[30]; string s; bool y=true; string arr[mxn]; bool qq[mxn]; void Init() { char q='a'; for(int i=0;i<26;i++){ alp[i]=q; q++; } } void TypeLetter(char L) { y=false; int x=L-'a'; vt.pb({1,x}); } void UndoCommands(int U) { y=false; vt.pb({2,U}); } char GetLetter(int P) { if(!y){ y=true; s=""; int ind=vt.size()-1; while(ind>=0){ if(qq[ind]){ string a=s; reverse(all(a)); s=arr[ind]+a; break; } int a=vt[ind].F,b=vt[ind].S; if(a==1){ s+=alp[b]; ind--; } else{ ind=ind-b-1; } } ind=vt.size()-1; reverse(all(s)); qq[ind]=true; arr[ind]=s; } return s[P]; }
#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...