#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#pragma GCC optimize("O3,unroll-loops")
#include <bits/stdc++.h>
#define all(v) v.begin(), v.end()
#define pb push_back
#define ss second
#define ff first
#define vt vector
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
const int inf = 1e9;
const int mod = 1e9+7;
const int maxn = 1e6 + 1;
char last;
int cnt, ope[maxn][20], wt[maxn], sz[maxn];
void Init() {
wt[0] = -1;
for(int j = 0; j < 20; j++)ope[0][j] = 0;
cnt = 1;
}
void TypeLetter(char L) {
sz[cnt] = sz[cnt - 1] + 1;
wt[cnt] = int(L - 'a');
ope[cnt][0] = cnt;
ope[cnt][1] = ope[cnt - 1][0];
for(int j = 2; j < 20; j++){
ope[cnt][j] = ope[ope[cnt][j - 1]][j - 1];
}
cnt++;
}
void UndoCommands(int U) {
U++;
for(int j = 0; j < 20; j++)ope[cnt][j] = ope[cnt - U][j];
wt[cnt] = -2;
sz[cnt] = sz[cnt - U];
cnt++;
}
char GetLetter(int P) {
int x = ope[cnt - 1][0];
P = sz[x] - P - 1;
for(int j = 18; j >= 0; j--){
if(P & (1 << j))x = ope[x][j + 1];
}
return char('a' + wt[x]);
}
//#define inbuf_len 1 << 16
//#define outbuf_len 1 << 16
//void solve() {
//Init();
//int cmd_num;
//int tmp = scanf("%d", &cmd_num);
//int i;
//for (i = 0; i < cmd_num; i++) {
//char cmd;
//tmp = scanf(" %c", &cmd);
//if (cmd == 'T') {
//char letter;
//tmp = scanf(" %c", &letter);
//assert(tmp == 1);
//TypeLetter(letter);
//}
//else if (cmd == 'U') {
//int number;
//tmp = scanf("%d", &number);
//assert(tmp == 1);
//UndoCommands(number);
//}
//else if (cmd == 'P') {
//int index;
//char letter;
//tmp = scanf("%d", &index);
//assert(tmp == 1);
//letter = GetLetter(index);
//printf("%c\n", letter);
//}
//}
//puts("Let's test for cheating!!");
//}
//int main() {
//ios_base::sync_with_stdio(0);
//cin.tie(0);
//int times = 1;
////cin >> times;
//for(int i = 1; i <= times; i++) {
//solve();
//}
//return 0;
//}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
4440 KB |
Output is correct |
2 |
Correct |
1 ms |
4444 KB |
Output is correct |
3 |
Correct |
1 ms |
4556 KB |
Output is correct |
4 |
Correct |
1 ms |
4444 KB |
Output is correct |
5 |
Correct |
1 ms |
4444 KB |
Output is correct |
6 |
Correct |
1 ms |
4444 KB |
Output is correct |
7 |
Correct |
1 ms |
4444 KB |
Output is correct |
8 |
Correct |
1 ms |
4444 KB |
Output is correct |
9 |
Correct |
1 ms |
4444 KB |
Output is correct |
10 |
Correct |
1 ms |
4444 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
4444 KB |
Output is correct |
2 |
Correct |
1 ms |
4444 KB |
Output is correct |
3 |
Correct |
1 ms |
4444 KB |
Output is correct |
4 |
Correct |
1 ms |
4444 KB |
Output is correct |
5 |
Correct |
1 ms |
4444 KB |
Output is correct |
6 |
Correct |
1 ms |
4444 KB |
Output is correct |
7 |
Correct |
1 ms |
4440 KB |
Output is correct |
8 |
Correct |
1 ms |
4700 KB |
Output is correct |
9 |
Correct |
1 ms |
4444 KB |
Output is correct |
10 |
Correct |
1 ms |
4548 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
4444 KB |
Output is correct |
2 |
Correct |
2 ms |
4444 KB |
Output is correct |
3 |
Correct |
2 ms |
4444 KB |
Output is correct |
4 |
Correct |
2 ms |
4444 KB |
Output is correct |
5 |
Correct |
2 ms |
4608 KB |
Output is correct |
6 |
Correct |
1 ms |
4444 KB |
Output is correct |
7 |
Correct |
2 ms |
4444 KB |
Output is correct |
8 |
Correct |
2 ms |
4444 KB |
Output is correct |
9 |
Correct |
1 ms |
4580 KB |
Output is correct |
10 |
Correct |
1 ms |
4444 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
184 ms |
68180 KB |
Output is correct |
2 |
Correct |
257 ms |
82676 KB |
Output is correct |
3 |
Correct |
176 ms |
81488 KB |
Output is correct |
4 |
Correct |
202 ms |
86944 KB |
Output is correct |
5 |
Correct |
215 ms |
77512 KB |
Output is correct |
6 |
Correct |
182 ms |
86808 KB |
Output is correct |
7 |
Correct |
223 ms |
78668 KB |
Output is correct |
8 |
Correct |
208 ms |
86048 KB |
Output is correct |
9 |
Correct |
230 ms |
83364 KB |
Output is correct |
10 |
Correct |
132 ms |
89680 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
231 ms |
64920 KB |
Output is correct |
2 |
Correct |
260 ms |
57996 KB |
Output is correct |
3 |
Correct |
193 ms |
72116 KB |
Output is correct |
4 |
Correct |
213 ms |
65736 KB |
Output is correct |
5 |
Correct |
184 ms |
79444 KB |
Output is correct |
6 |
Correct |
198 ms |
81380 KB |
Output is correct |
7 |
Correct |
210 ms |
81492 KB |
Output is correct |
8 |
Correct |
289 ms |
72784 KB |
Output is correct |
9 |
Correct |
308 ms |
70484 KB |
Output is correct |
10 |
Correct |
130 ms |
88812 KB |
Output is correct |