Submission #439881

#TimeUsernameProblemLanguageResultExecution timeMemory
439881AmShZCrayfish scrivener (IOI12_scrivener)C++11
100 / 100
811 ms137324 KiB
//khodaya khodet komak kon # include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; typedef pair <int, int> pii; typedef pair <pii, int> ppi; typedef pair <int, pii> pip; typedef pair <pii, pii> ppp; typedef pair <ll, ll> pll; # define A first # define B second # define endl '\n' # define sep ' ' # define all(x) x.begin(), x.end() # define kill(x) return cout << x << endl, 0 # define SZ(x) int(x.size()) # define lc id << 1 # define rc id << 1 | 1 # define InTheNameOfGod ios::sync_with_stdio(0);cin.tie(0); cout.tie(0); ll power(ll a, ll b, ll md) {return (!b ? 1 : (b & 1 ? a * power(a * a % md, b / 2, md) % md : power(a * a % md, b / 2, md) % md));} const int xn = 1e6 + 10; const int xm = 20; const int sq = 320; const int inf = 1e9 + 10; const ll INF = 1e18 + 10; const ld eps = 1e-15; const int mod = 1e9 + 7;//998244353; const int base = 257; int n, a[xn], nxt[26][xn], par[xm][xn], v, m, H[xn]; void Init(){ } void TypeLetter(char L){ if (!nxt[L - 'a'][v]) nxt[L - 'a'][v] = ++ n; int u = nxt[L - 'a'][v]; par[0][u] = v; H[u] = H[v] + 1; v = u; for (int i = 1; i < xm; ++ i) par[i][v] = par[i - 1][par[i - 1][v]]; a[++ m] = v; } void UndoCommands(int U){ v = a[m - U], a[++ m] = v; } char GetLetter(int P){ int d = H[v] - P, u = v; for (int i = xm - 1; i >= 0; -- i) if ((1 << i) < d) u = par[i][u], d -= (1 << i); for (int i = 0; i < 26; ++ i) if (u == nxt[i][par[0][u]]) return char('a' + i); } /* int main(){ InTheNameOfGod; return 0; } */

Compilation message (stderr)

scrivener.cpp: In function 'char GetLetter(int)':
scrivener.cpp:62:1: warning: control reaches end of non-void function [-Wreturn-type]
   62 | }
      | ^
#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...