Submission #1151047

#TimeUsernameProblemLanguageResultExecution timeMemory
1151047KhoaDuyLast supper (IOI12_supper)C++20
Compilation error
0 ms0 KiB
void ComputeAdvice(int *C,int n,int k,int m){
    int c[n+k];
    for(int i=0;i<n;i++){
        c[k+i]=C[i];
    }
    for(int i=0;i<k;i++){
        c[i]=i;
    }
    int state[n+k]={0};
    int last[n];
    for(int i=0;i<n;i++){
        last[i]=n+k;
    }
    int nxt[n+k];
    for(int i=n+k-1;i>=0;i--){
        nxt[i]=last[c[i]];
        last[c[i]]=i;
    }
    set<pair<int,int>> se;
    for(int i=0;i<k;i++){
        se.insert({nxt[i],i});
    }
    for(int i=k;i<n+k;i++){
        set<pair<int,int>>::iterator it=se.begin();
        if((*it).first==i){
            se.erase(it);
        }
        else{
            it=se.end();
            it--;
            state[(*it).second]=1;
            se.erase(it);
        }
        se.insert({nxt[i],i});
    }
    unsigned char bruh0='0',bruh1='1';
    for(int i=0;i<n+k;i++){
        if(state[i]==0){
            WriteAdvice(bruh0);
        }
        else{
            WriteAdvice(bruh1);
        }
    }
}
void Assist(unsigned char *A,int n,int k,int r){
    string trans="";
    assert(r==n+k);
    for(int i=0;i<r;i++){
        trans+=A[i];
    }
    set<int> se,se1;
    for(int i=0;i<k;i++){
        if(trans[i]=='0'){
            se.insert(i);
        }
        else{
            se1.insert(i);
        }
    }
    for(int i=k;i<n+k;i++){
        int c=GetRequest();
        if(se.find(c)!=se.end()){
            se.erase(c);
        }
        else{
            set<int>::iterator it=se1.begin();
            PutBack((*it));
            se1.erase(it);
        }
        if(trans[i]=='0'){
            se.insert(c);
        }
        else{
            se1.insert(c);
        }
    }
}

Compilation message (stderr)

# 1번째 컴파일 단계

advisor.cpp: In function 'void ComputeAdvice(int*, int, int, int)':
advisor.cpp:19:9: error: 'pair' was not declared in this scope
   19 |     set<pair<int,int>> se;
      |         ^~~~
advisor.cpp:19:5: error: 'set' was not declared in this scope
   19 |     set<pair<int,int>> se;
      |     ^~~
advisor.cpp:19:14: error: expected primary-expression before 'int'
   19 |     set<pair<int,int>> se;
      |              ^~~
advisor.cpp:21:9: error: 'se' was not declared in this scope
   21 |         se.insert({nxt[i],i});
      |         ^~
advisor.cpp:24:18: error: expected primary-expression before 'int'
   24 |         set<pair<int,int>>::iterator it=se.begin();
      |                  ^~~
advisor.cpp:25:14: error: 'it' was not declared in this scope; did you mean 'i'?
   25 |         if((*it).first==i){
      |              ^~
      |              i
advisor.cpp:26:13: error: 'se' was not declared in this scope
   26 |             se.erase(it);
      |             ^~
advisor.cpp:29:16: error: 'se' was not declared in this scope
   29 |             it=se.end();
      |                ^~
advisor.cpp:34:9: error: 'se' was not declared in this scope
   34 |         se.insert({nxt[i],i});
      |         ^~
advisor.cpp:39:13: error: 'WriteAdvice' was not declared in this scope; did you mean 'ComputeAdvice'?
   39 |             WriteAdvice(bruh0);
      |             ^~~~~~~~~~~
      |             ComputeAdvice
advisor.cpp:42:13: error: 'WriteAdvice' was not declared in this scope; did you mean 'ComputeAdvice'?
   42 |             WriteAdvice(bruh1);
      |             ^~~~~~~~~~~
      |             ComputeAdvice