Submission #12679

# Submission time Handle Problem Language Result Execution time Memory
12679 2014-12-29T03:17:02 Z gs14004 Crayfish scrivener (IOI12_scrivener) C++
Compilation error
0 ms 0 KB
int ops[1000005], prev[1000005], size[1000005], sz;

void Init(){
    
}

void TypeLetter(char L){
    ops[sz] = L;
    if(sz) size[sz] = size[prev[sz]]+1;
    else size[sz] = 1;
    sz++;
    prev[sz] = sz-1;
}

void UndoCommands(int U){
    prev[sz] = sz-U-1;
}

char GetLetter(int P){
    int i = prev[sz];
    int piv = size[i] - P - 1;
    while (piv) {
        i = prev[i];
        piv--;
    }
    return ops[i];
}

#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
int main() {
    Init();
    
    int cmd_num;
    int tmp = scanf("%d", &cmd_num);
    assert(tmp == 1);
    
    int i;
    for (i = 0; i < cmd_num; i++) {
        char cmd;
        tmp = scanf(" %c", &cmd);
        assert(tmp == 1);
        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!!");
    
    return 0;
    
}

Compilation message

/tmp/cciMF11m.o: In function `main':
scrivener.cpp:(.text.startup+0x0): multiple definition of `main'
/tmp/cc4aTBSI.o:grader.cpp:(.text.startup+0x0): first defined here
collect2: ld returned 1 exit status