제출 #1180696

#제출 시각아이디문제언어결과실행 시간메모리
1180696ThylOneCarnival (CEOI14_carnival)C++20
0 / 100
1 ms416 KiB
//####################
//Carnival
//####################
#include<bits/stdc++.h>

using namespace std;
int query(vector<int> party){
    cout<<party.size()<<" ";
    for(int v:party)cout<<v+1<<' ';
    cout<<endl;

    int re;cin>>re;
    return re;
}
signed main(){
    int n;cin>>n;
    vector<int > chef;
    for(int i = 0;i<n;i++){
        vector<int> cop(chef);
        cop.push_back(i);
        if(query(cop)==cop.size())
            chef.push_back(i);
    }
    vector<int> rep(n,-1);
    for(int v:chef)rep[v]=v;
    for(int e = 0 ; e < n ; e++){
        if(rep[e] != e){
            int border=-1;
            for(int b=8;b>=0;b--){
                if(border+(1<<b)<chef.size()){
                    vector<int> act;
                    for(int i=0;i<=border+(1<<b);i++)act.push_back(chef[i]);
                    act.push_back(e+1);
                    if(query(act)==act.size())border+=(1<<b);
                }
            }
            rep[e] = chef[border+1];
        }
    }
    cout<<0<<" ";
    for(int i = 0 ; i < n ; i++)
        cout<<rep[i]+1<<' ';
    cout<<endl;
    return 0;
};
#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...