Submission #1229989

#TimeUsernameProblemLanguageResultExecution timeMemory
1229989yixuan19Carnival (CEOI14_carnival)C++20
0 / 100
0 ms416 KiB
#include <iostream>
#include <vector>

using namespace std;

int main(){
    
    int N;
    cin >> N;
    vector<int> sol(N+1);
    
    cout<<2<<' '<<1<<' '<<2<<endl;
    int res;
    cin >> res;
    vector<int> unique;
    if (res == 2){
        sol[1] = 1;
        sol[2] = 2;
        unique.push_back(1);
        unique.push_back(2);
    }else{
        sol[1] = 1;
        sol[2] = 1;
        unique.push_back(1);
    }
    vector<int> people;
    int num = 2;
    people.push_back(1);
    people.push_back(2);
    int memo = res;
    for (int i = 3; i <= N; ++i){
        num++;
        cout<<unique.size()+1<<' ';
        for (int in: unique){
            cout<<in<<' ';
        }
        cout<<i<<' ';
        cout<<endl;
        cin >> res;
        if (res > unique.size()){
            sol[i] = res;
            unique.push_back(i);
        }else{
            int l = 0;
            int r = i-1;
            while (l < r){
                //cout<<"l "<<l<<" r "<<r<<endl;
                int m = (l+r)/2;
                cout<<m-l+2<<' ';
                for (int j = l; j <= m; ++j){
                    cout<<unique[j]<<' ';
                }
                cout<<i<<' ';
                cout<<endl;
                cin >> res;
                if (res == m-l+2){
                    l = m+1;
                }else{
                    r = m-1;
                }
            }
            sol[i] = sol[unique[l]];
        }
        
    }
    cout<<0<<' ';
    for (int i = 1; i <= N; ++i){
        cout<<sol[i]<<' ';
    }
    cout<<endl;
}
#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...