Submission #1188719

#TimeUsernameProblemLanguageResultExecution timeMemory
1188719yoruonivampCarnival (CEOI14_carnival)C++20
0 / 100
2 ms416 KiB
#include <bits/stdc++.h>
using namespace std;

vector<int> u,a;
map<int,int> costume;
int n;

bool q(vector<int> &arr, int s, int e, int l){
    s--;
    cout << e-s+1 << ' ';
    for(int i = s; i <= e-1; i++) cout << u[i] << ' ';
    cout << l << ' ';
    int b; cin >> b;
    if(b==e-s+1) return true;
    return false;
}

int main(){
    cin >> n;
    costume[1]=1;
    u.emplace_back(1);
    for(int i = 2; i <= n; i++){
        if(q(u,1,u.size(),i)) u.emplace_back(i);
    }int now = 1;
    for(auto i: u){
        costume[i]=now;
        now++;
    }for(int i = 1; i <= n; i++){
        if(costume[i]==0){
            int l = 1, r = u.size();
            int b = 0;
            while(l<r){
                int mid = (l+r)/2;
                if(mid<=0) break;
                if(!q(u,l,mid,i)){
                    b = r;
                    if(l==r) break;
                    r = mid;
                }else l = mid+1;

            }costume[i]=costume[u[b-1]];
        }
    }cout << 0 << ' ';
    for(int i = 1; i <= n; i++) cout << costume[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...