제출 #416013

#제출 시각아이디문제언어결과실행 시간메모리
416013arayi크레이피쉬 글쓰는 기계 (IOI12_scrivener)C++17
34 / 100
1095 ms83828 KiB
#include <vector> #include <algorithm> #include <set> #define ad push_back using namespace std; const int N = 1e6 + 10; int a[N], i1 = 1; int p[N][20]; char c[N]; vector<int> fp; void Init() { fp.ad(0); } void TypeLetter(char L) { a[i1] = a[i1 - 1] + 1; c[i1] = L; i1++; } void UndoCommands(int U) { a[i1] = a[i1 - U - 1]; fp.ad(i1); p[i1][0] = *(--lower_bound(fp.begin(), fp.end(), i1 - U)); for (int i = 1; i < 20; i++) p[i1][i] = p[p[i1][i - 1]][i - 1]; i1++; } char GetLetter(int P) { P++; int s = fp.back(); for (int i = 20 - 1; i >= 0; i--) if (a[p[s][i]] >= P)s = p[s][i]; if (a[s] >= P) s = p[s][0]; s += P - a[s]; return c[s]; }
#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...