제출 #1319527

#제출 시각아이디문제언어결과실행 시간메모리
1319527khanhphucscratch사육제 (CEOI14_carnival)C++20
100 / 100
6 ms428 KiB
#include<bits/stdc++.h>
using namespace std;
int ask(vector<int> a)
{
    sort(a.begin(), a.end());
    cout<<a.size()<<" ";
    for(int i : a) cout<<i<<" ";
    cout<<endl;
    int ans; cin>>ans;
    return ans;
}
int check(vector<int> a)
{
    return a.size() - ask(a);
}
int ans[205];
signed main()
{
    int n; cin>>n;
    vector<int> cur = {1};
    ans[1] = 1;
    for(int i = 2; i <= n; i++){
        int l = 0, r = cur.size()-1, p = cur.size();
        while(l <= r){
            vector<int> question = {i};
            int mid = (l+r)/2;
            for(int i = 0; i <= mid; i++) question.push_back(cur[i]);
            if(check(question) == 1){r = mid-1; p = mid;}
            else l = mid+1;
        }
        if(p == cur.size()) cur.push_back(i);
        ans[i] = p+1;
    }
    cout<<"0 ";
    for(int i = 1; i <= n; i++) cout<<ans[i]<<" ";
}
#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...