답안 #987207

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
987207 2024-05-22T10:45:37 Z VMaksimoski008 사육제 (CEOI14_carnival) C++17
0 / 100
6 ms 952 KB
#include <bits/stdc++.h>
using namespace std;

int ask(vector<int> v) {
    cout << v.size() << " ";
    for(int &x : v) cout << x << " ";
    cout << endl;

    int x;
    cin >> x;
    return x;
}

void find(int n) {
    vector<int> ans(n+1);

    ans[1] = 1;
    int cnt = 1;

    vector<int> v = { 1 };
    for(int i=2; i<=n; i++) {
        v.push_back(i);
        int X = ask(v);

        if(X > cnt) {
            ans[i] = ++cnt;
            continue;
        }

        int l=1, r=i-1;
        while(l <= r) {
            int mid = (l + r) / 2;
            vector<int> v2;

            for(int j=1; j<=mid; j++) v2.push_back(j);

            v2.push_back(i);
            if(ask(v2) >= X) ans[i] = ans[mid], r = mid - 1;
            else l = mid + 1;
        }
    }

    for(int &x : ans) cout << x << " ";
    cout << endl;
    return ;
}

int main() {
    int n;
    cin >> n;
    find(n);
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 952 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 6 ms 692 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 688 KB Output is correct
2 Incorrect 5 ms 944 KB Incorrect
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 684 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 6 ms 688 KB Incorrect
2 Halted 0 ms 0 KB -