Submission #1220219

#TimeUsernameProblemLanguageResultExecution timeMemory
1220219mariamtsagareliCarnival (CEOI14_carnival)C++20
100 / 100
3 ms436 KiB
#include <bits/stdc++.h>
using namespace std;
int n, p[151], c[151];
int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    cin >> n;
    vector<int> r;                          
    const int s = 12;              
    for(int i = 1; i <= n; i++){
        bool f = false;
        for(int j = 0; j < (int)r.size() && !f; j += s){
            int h = min((int)r.size(), j + s);
            cout << (h - j + 1);
            for(int k = j; k < h; k++) cout << " " << r[k];
            cout << " " << i << endl;
            cout.flush();
            int x; cin >> x;
            if(x == h - j + 1) continue;
            int l = j, u = h;
            while(u - l > 1){
                int m = (l + u) / 2;
                cout << (m - l + 1);
                for(int k = l; k < m; k++) cout << " " << r[k];
                cout << " " << i << endl;
                cout.flush();
                int y; cin >> y;
                if(y == m - l + 1) l = m;
                else u = m;
            }
            c[i]=c[r[l]];
            f=true;
        }
        if(!f){
            r.push_back(i);
            c[i]=r.size();
        }
    }
    cout << 0;
    for(int i=1;i<= n;i++) cout<<" "<<c[i];
    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...