제출 #1230554

#제출 시각아이디문제언어결과실행 시간메모리
1230554KindaNamelessCarnival (CEOI14_carnival)C++20
0 / 100
2 ms408 KiB
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define ld long double

void solve() {
    int N; cin >> N;

    vector<int> answer(N + 1);

    answer[1] = 1;
    vector<int> distinct; distinct.push_back(1);
    for(int i = 2; i <= N; ++i) {
        int sz = (int)distinct.size() + 1;
        cout << sz << " ";
        for(int elem : distinct) {
            cout << elem << " ";
        }
        cout << i << "\n"; cout << flush;

        int col; cin >> col;

        if(col == sz) {
            answer[i] = sz;
            distinct.push_back(i);
        }
        else {
            int l = 1, r = sz - 1;
            while(l < r) {
                int m = (l + r) / 2;

                cout << m - l + 2 << " ";
                for(int j = l; j <= m; ++j) {
                    cout << distinct[j - 1] << " ";
                }
                cout << i << "\n"; cout << flush;

                cin >> col;

                if(col == m - l + 1) {
                    l = m + 1;
                }
                else {
                    r = m;
                }
            }

            answer[i] = answer[distinct[l]];
        }
    }

    cout << "0";
    for(int i = 1; i <= N; ++i) {
        cout << " " << answer[i];
    }
    cout << "\n"; cout << flush;
}

int main() {
//    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    int tc = 1; //cin >> tc;

    while(tc--) {
        solve();
    }

    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...