Submission #202083

# Submission time Handle Problem Language Result Execution time Memory
202083 2020-02-13T15:35:45 Z DavidDamian Crayfish scrivener (IOI12_scrivener) C++11
60 / 100
247 ms 17656 KB
#include<bits/stdc++.h>
using namespace std;
int node[1000006];
int NEXT_FREE_INDEX=1;
int n=1;
int id[1000006];
char letter[1000006];
int p[1000006];
int len;
int cont=0;
void Init() {
    len=-1;
    id[0]=-1;
}
void TypeLetter(char L) {
    cont++;
    node[n]=NEXT_FREE_INDEX;
    id[NEXT_FREE_INDEX]=id[ node[n-1] ]+1;
    letter[NEXT_FREE_INDEX]=L;
    p[NEXT_FREE_INDEX]=node[n-1];
    NEXT_FREE_INDEX++;
    n++;
}
void UndoCommands(int U) {
    cont++;
    node[n]=node[n-U-1];
    n++;
}
vector<char> A;
bool copied=false;
char GetLetter(int P) {
    cont++;
    if(cont<=5000){
        int k=node[n-1];
        while(id[k]>P){
            k=p[k];
        }
        return letter[k];
    }
    else if(!copied){
        int k=node[n-1];
        while(id[k]>=0){
            A.push_back(letter[k]);
            k=p[k];
        }
        reverse(A.begin(),A.end());
        copied=true;
        return A[P];
    }
    else
        return A[P];
}
# Verdict Execution time Memory Grader output
1 Correct 5 ms 376 KB Output is correct
2 Correct 5 ms 376 KB Output is correct
3 Correct 5 ms 376 KB Output is correct
4 Correct 5 ms 376 KB Output is correct
5 Correct 4 ms 376 KB Output is correct
6 Correct 5 ms 376 KB Output is correct
7 Correct 5 ms 376 KB Output is correct
8 Correct 5 ms 376 KB Output is correct
9 Correct 5 ms 376 KB Output is correct
10 Correct 5 ms 504 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 376 KB Output is correct
2 Correct 5 ms 380 KB Output is correct
3 Correct 5 ms 376 KB Output is correct
4 Correct 5 ms 376 KB Output is correct
5 Correct 5 ms 376 KB Output is correct
6 Correct 5 ms 376 KB Output is correct
7 Correct 5 ms 376 KB Output is correct
8 Correct 5 ms 376 KB Output is correct
9 Correct 5 ms 376 KB Output is correct
10 Correct 5 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 376 KB Output is correct
2 Correct 6 ms 376 KB Output is correct
3 Correct 6 ms 376 KB Output is correct
4 Correct 6 ms 376 KB Output is correct
5 Correct 6 ms 376 KB Output is correct
6 Correct 6 ms 376 KB Output is correct
7 Correct 6 ms 376 KB Output is correct
8 Correct 6 ms 376 KB Output is correct
9 Correct 7 ms 376 KB Output is correct
10 Correct 6 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 153 ms 9336 KB Output is correct
2 Correct 167 ms 14072 KB Output is correct
3 Correct 183 ms 14328 KB Output is correct
4 Correct 247 ms 14928 KB Output is correct
5 Correct 202 ms 13688 KB Output is correct
6 Correct 177 ms 14964 KB Output is correct
7 Correct 237 ms 12916 KB Output is correct
8 Correct 221 ms 14452 KB Output is correct
9 Correct 180 ms 15220 KB Output is correct
10 Correct 179 ms 12792 KB Output is correct
# Verdict Execution time Memory Grader output
1 Runtime error 190 ms 17656 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -