Submission #343915

# Submission time Handle Problem Language Result Execution time Memory
343915 2021-01-04T17:54:41 Z bigDuck Crayfish scrivener (IOI12_scrivener) C++14
0 / 100
513 ms 60012 KB
#include<bits/stdc++.h>
using namespace std;
#define INIT  ios_base :: sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
#define mp make_pair
#define pb push_back
#define ft first
#define sc second
#define ll long long
#define pii pair<int, int>
#define count_bits __builtin_popcount




/*struct node{
    char c;
    int cnt;
    node *l, *r;

    node(node *l, node *r){
        this->l=l; this->r;
        this->cnt=l->cnt+r->cnt;
    }
    node(char c){
        this->c=c;
        this->cnt=1;
        this->l=NULL;
        this->r=NULL;
    }
} *ver[1000010];
*/


int tab[1000010][20];
int l[1000010];
char a[1000010];
int Tmp=1;



void add_char(char c){
    l[Tmp]=l[Tmp-1]+1;
    if(Tmp==1){
        a[Tmp]=c;
        Tmp++;
        return ;
    }

    a[Tmp]=c;
    tab[Tmp][0]=Tmp-1;
    for(int j=1; (j<=19) && (tab[Tmp][j-1]>0); j++){
        tab[Tmp][j]=tab[tab[Tmp][j-1] ][j-1];
    }
    Tmp++;
    return;
}






void Init() {

}




void TypeLetter(char L) {
    add_char(L);
}

void UndoCommands(int U){
    for(int j=0; j<=19; j++){tab[Tmp][j]=tab[Tmp-U-1][j];}
    l[Tmp]=l[Tmp-U-1];
    a[Tmp]=a[Tmp-U-1];
    Tmp++;
}

char GetLetter(int P) {

int p=l[Tmp-1]-P+1; p--;
int cr=Tmp-1;
for(int j=19; (j>=0) && (p>0); j--){
    if( (p&(1ll<<j))>0 ){
        cr=tab[cr][j]; p-=(1ll<<j);
    }
}
//cout<<cr<<" ";
//cout<<a[cr]<<"\n";
return a[cr];
}
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 492 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 357 ms 60012 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 513 ms 55188 KB Output isn't correct
2 Halted 0 ms 0 KB -