Submission #164313

#TimeUsernameProblemLanguageResultExecution timeMemory
164313alexandra_udristoiuCarnival (CEOI14_carnival)C++14
100 / 100
15 ms396 KiB
#include<iostream>
using namespace std;
int n, i, nr, r, j;
int c[155], v[155];
void src(int st, int dr, int x){
    if(st == dr){
        c[x] = c[ v[st] ];
        return;
    }
    int mid = (st + dr) / 2;
    cout<< mid - st + 2 <<" ";
    for(int i = st; i <= mid; i++){
        cout<< v[i] <<" ";
    }
    cout<< x << endl;
    cin>> r;
    if(r == mid - st + 1){
        src(st, mid, x);
    }
    else{
        src(mid + 1, dr, x);
    }
}
int main(){
    cin>> n;
    c[1] = v[1] = nr = 1;
    for(i = 2; i <= n; i++){
        cout<< nr + 1 <<" ";
        for(j = 1; j <= nr; j++){
            cout<< v[j] <<" ";
        }
        cout<< i << endl;
        cin>> r;
        if(r == nr + 1){
            nr++;
            v[nr] = i;
            c[i] = nr;
        }
        else{
            src(1, nr, i);
        }
    }
    cout<<"0 ";
    for(i = 1; i <= n; i++){
        cout<< c[i] <<" ";
    }
}
#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...