제출 #61812

#제출 시각아이디문제언어결과실행 시간메모리
61812theknife2001Crayfish scrivener (IOI12_scrivener)C++17
0 / 100
223 ms3960 KiB
#include <bits/stdc++.h>
#define ii pair < char , char >
#define fi first
#define se second


using namespace std;
const int N=1e6+5;
ii a[N];
char s[N];
bool q=0;
int i=0;


void Init() {}

void TypeLetter(char L) {
    a[i]={'T',L};
    i++;
}

void UndoCommands(int U) {
    a[i]={'U','0'+U};
    i++;
}

int j=0;

char GetLetter(int P) {
    if(!q)
    {
        j=0;
        i--;
        while(i>=0)
        {
            if(a[i].fi=='T')
            {
                s[j]=a[i].se;
                j++;
            }
            else if(a[i].fi=='U')
            {
                i-=(a[i].se-'0');
            }
            else
                assert(0);
            i--;
        }
        reverse(s,s+j);
    }
    q=1;
    return s[P];
}
#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...