This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll, ll> pll;
typedef pair<int, int> pii;
#define all(x) x.begin(), x.end()
#define kill(x) return cout << x << endl, 0
#define X first
#define Y second
#define endl '\n'
constexpr ll pw(ll a, ll b, ll mod) {
return (!b ? 1 :
b & 1 ? a * pw(a * a % mod, b / 2, mod) % mod :
pw(a * a % mod, b / 2, mod));
}
constexpr int N = 1e6 + 10;
constexpr int MOD = 1e9 + 7;
constexpr ll INF = 1e18;
int cur, par[N], prv[N], sz[N];
char C[N];
void Init() {
}
void TypeLetter(char L) {
cur++;
C[cur] = L;
par[cur] = cur - 1;
prv[cur] = cur;
sz[cur] = sz[par[cur]] + 1;
}
void UndoCommands(int U) {
cur++;
C[cur] = 'U';
par[cur] = cur - U - 1;
prv[cur] = prv[par[cur]];
sz[cur] = sz[par[cur]];
}
char GetLetter(int P) {
int tmp = prv[cur];
for (int i = 1; i < sz[cur] - P; i++)
tmp = prv[par[tmp]];
return C[tmp];
}
# | 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... |