Submission #1155086

#TimeUsernameProblemLanguageResultExecution timeMemory
1155086AlgorithmWarriorCarnival (CEOI14_carnival)C++20
100 / 100
3 ms412 KiB
#include <bits/stdc++.h>

using namespace std;

int const MAX=155;
vector<int>grp[MAX];
int n;
int costume[MAX];

int main()
{
    cin>>n;
    grp[1].push_back(1);
    int i,j;
    int cnt=1;
    for(i=2;i<=n;++i){
        cout<<cnt+1<<' ';
        for(j=1;j<=cnt;++j)
            cout<<grp[j].back()<<' ';
        cout<<i<<endl;
        int nr;
        cin>>nr;
        if(nr==cnt+1){
            ++cnt;
            grp[cnt].push_back(i);
        }
        else{
            /// (]
            int st=0,dr=cnt;
            while(dr-st>1){
                int mij=(st+dr)/2;
                cout<<mij+1<<' ';
                for(j=1;j<=mij;++j)
                    cout<<grp[j].back()<<' ';
                cout<<i<<endl;
                cin>>nr;
                if(nr==mij)
                    dr=mij;
                else
                    st=mij;
            }
            grp[dr].push_back(i);
        }
    }
    for(i=1;i<=cnt;++i)
        for(auto ind : grp[i])
            costume[ind]=i;
    cout<<0<<' ';
    for(i=1;i<=n;++i)
        cout<<costume[i]<<' ';
    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...