Submission #1295228

#TimeUsernameProblemLanguageResultExecution timeMemory
1295228tormentCarnival (CEOI14_carnival)C++20
0 / 100
2 ms424 KiB
#include <bits/stdc++.h>
using namespace std;
int ask(vector<int>&v){
    cout << v.size() << " ";
    for(int i : v)cout << i << ' ';
    cout << endl;
    int ans;
    cin >> ans;
    return ans;
}
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n;
    cin >> n;
    vector<int>colors, temp, res(n + 1);
    for(int i = 1;i <= n;++i){
        temp = colors;
        temp.push_back(i);
        if(ask(temp) > (int)colors.size()){
            colors.push_back(i);
            res[i] = colors.size();
        }
    }
    int sz = colors.size();
    for(int i = 1;i <= n;++i){
        if(res[i])continue;
        int l = 0, r = sz - 1, ans = sz - 1;
        while(l <= r){
            int mid = (l + r) / 2;
            temp.clear();
            temp.push_back(i);
            for(int j = 0;j <= mid;++j){
                temp.push_back(colors[j]);
            }
            if(ask(temp) != (int)temp.size()){
                ans = mid;
                r = mid - 1;
            }
            else{
                l = mid + 1;
            }
        }
        res[i] = ans;
    }
    cout << "0 ";
    for(int i = 1;i <= n;++i){
        cout << res[i] << ' ';
    }
    cout << endl;
}
#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...