제출 #1335311

#제출 시각아이디문제언어결과실행 시간메모리
1335311MinhKien사육제 (CEOI14_carnival)C++20
100 / 100
2 ms412 KiB
#include <iostream>

using namespace std;

const int N = 200;

int n, node[N], a[N];

int ask(int l, int r, int i) {
    if (l == r) return l;

    int mid = (l + r) >> 1;
    cout << mid - l + 2 << " " << i << " ";
    for (int i = l; i <= mid; ++i) {
        cout << node[i] << " ";
    }
    cout << endl;

    int k;
    cin >> k;
    if (k == mid - l + 1) return ask(l, mid, i);
    return ask(mid + 1, r, i);
}

int main() {
    cin >> n;

    a[1] = node[1] = 1;
    int num = 1;
    for (int i = 2; i <= n; ++i) {
        cout << num + 1 << " " << i << " ";
        for (int j = 1; j <= num; ++j) {
            cout << node[j] << " ";
        }
        cout << endl;

        int k;
        cin >> k;
        if (k <= num) a[i] = ask(1, num, i);
        else {
            a[i] = ++num;
            node[num] = i;
        }
    }

    cout << "0 ";
    for (int i = 1; i <= n; ++i) cout << a[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...