#include<bits/stdc++.h>
using namespace std;
int cur;
vector<int> t;
vector<vector<int>> p;
vector<char> l;
vector<int> s;
void Init(){
p.resize(1, vector<int>(20, 0));
cur = 0;
t.push_back(0);
s.push_back(0);
}
void TypeLetter(char L) {
l.push_back(L);
s.push_back(s[t[cur]]+1);
p.push_back(vector<int>(20, 0));
p[l.size()-1][0] = t[cur];
for (int i=1; i<20; i++) p[l.size()-1][i] = p[p[l.size()-1][i-1]][i-1];
t.push_back(l.size()-1);
cur++;
}
void UndoCommands(int U) {
t.push_back(t[cur-U]);
cur++;
}
char GetLetter(int P) {
int x = s[t[cur]]-P-1;
int ch = t[cur];
for (int i=19; i>=0; i--){
if ((1<<i) <= x){
ch = p[ch][i];
x -= (1<<i);
}
}
return l[ch];
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |