제출 #1157565

#제출 시각아이디문제언어결과실행 시간메모리
1157565ocasu사육제 (CEOI14_carnival)C++20
0 / 100
7 ms408 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

int ask(int i, int j){
    cout<<j-i+1<<' ';
    for (int x=i; x<=j; x++) cout<<x<<' ';
    cout<<endl;
    int ans; cin>>ans;
    return ans;
}

signed main(){
    int n; cin>>n;
    vector<int> col(n+1,0);
    int cur=0;
    for (int i=1; i<n; i++){
        int a = i+1, b = n; 
        while (a != b) { 
            int mid = (a+b)/2; 
            int que=ask(i,mid);
            if (que < mid-i+1 and que==ask(i+1,mid)) { 
                b = mid; 
            }
            else { 
                a = mid+1; 
            }
        } 
        if (col[i]==0) col[i]=++cur;
        if (ask(i,a) < a-i+1){
            col[a] = col[i];
        }
    }
    cout<<0<<' ';
    for (int i=1; i<=n; i++){
        cout<<col[i]<<' ';
    }
    cout<<'\n';
}
#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...