Submission #18725

# Submission time Handle Problem Language Result Execution time Memory
18725 2016-02-14T19:17:32 Z ggoh Crayfish scrivener (IOI12_scrivener) C++
100 / 100
408 ms 87988 KB
int go[1000005],len[1000005],t=1,par[1000005][20];
char al[1000005];
void Init(){}
void TypeLetter(char L)
{
    al[t]=L;
    len[t]=len[go[t-1]]+1;
    par[t][0]=go[t-1];
    int u=1;
    while(1)
    {
        if(len[t]>=(1<<u)){
        par[t][u]=par[par[t][u-1]][u-1];
        u++;
        }
        else break;
    }
    go[t]=t;
    t++;
}
void UndoCommands(int U)
{
    go[t]=go[t-U-1];
    t++;
}
char GetLetter(int P)
{
    int o=len[go[t-1]];
    o=o-P-1;
    if(o==0)return al[go[t-1]];
    int u=0,h=go[t-1];
    while(o)
    {
        if(o%2)
        {
            h=par[h][u];
        }
        o/=2;
        u++;
    }
    return al[h];
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 87988 KB Output is correct
2 Correct 0 ms 87988 KB Output is correct
3 Correct 0 ms 87988 KB Output is correct
4 Correct 0 ms 87988 KB Output is correct
5 Correct 0 ms 87988 KB Output is correct
6 Correct 0 ms 87988 KB Output is correct
7 Correct 0 ms 87988 KB Output is correct
8 Correct 0 ms 87988 KB Output is correct
9 Correct 0 ms 87988 KB Output is correct
10 Correct 0 ms 87988 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 87988 KB Output is correct
2 Correct 0 ms 87988 KB Output is correct
3 Correct 0 ms 87988 KB Output is correct
4 Correct 0 ms 87988 KB Output is correct
5 Correct 0 ms 87988 KB Output is correct
6 Correct 0 ms 87988 KB Output is correct
7 Correct 0 ms 87988 KB Output is correct
8 Correct 0 ms 87988 KB Output is correct
9 Correct 0 ms 87988 KB Output is correct
10 Correct 0 ms 87988 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 87988 KB Output is correct
2 Correct 0 ms 87988 KB Output is correct
3 Correct 0 ms 87988 KB Output is correct
4 Correct 2 ms 87988 KB Output is correct
5 Correct 0 ms 87988 KB Output is correct
6 Correct 2 ms 87988 KB Output is correct
7 Correct 0 ms 87988 KB Output is correct
8 Correct 0 ms 87988 KB Output is correct
9 Correct 0 ms 87988 KB Output is correct
10 Correct 0 ms 87988 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 305 ms 87988 KB Output is correct
2 Correct 321 ms 87988 KB Output is correct
3 Correct 277 ms 87988 KB Output is correct
4 Correct 265 ms 87988 KB Output is correct
5 Correct 333 ms 87988 KB Output is correct
6 Correct 312 ms 87988 KB Output is correct
7 Correct 344 ms 87988 KB Output is correct
8 Correct 312 ms 87988 KB Output is correct
9 Correct 359 ms 87988 KB Output is correct
10 Correct 195 ms 87988 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 318 ms 87988 KB Output is correct
2 Correct 375 ms 87988 KB Output is correct
3 Correct 272 ms 87988 KB Output is correct
4 Correct 300 ms 87988 KB Output is correct
5 Correct 291 ms 87988 KB Output is correct
6 Correct 296 ms 87988 KB Output is correct
7 Correct 304 ms 87988 KB Output is correct
8 Correct 369 ms 87988 KB Output is correct
9 Correct 408 ms 87988 KB Output is correct
10 Correct 198 ms 87988 KB Output is correct