Submission #1270385

#TimeUsernameProblemLanguageResultExecution timeMemory
1270385WH8Carnival (CEOI14_carnival)C++20
100 / 100
5 ms420 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define pll pair<int, int> #define mp make_pair #define pb push_back #define f first #define s second signed main(){ int n;cin>>n; vector<int> ans(n+1, 0), pfx(n+1, 1); for(int i=2;i<=n;i++){ cout<<i<<" "; for(int j=1;j<=i;j++) cout<<j<<" "; cout<<endl; cin>>pfx[i]; } for(int i=1;i<=n;i++)ans[i]=i; int cnt=2; for(int i=2;i<=n;i++){ assert(pfx[i]-pfx[i-1]<=1); if(pfx[i]==pfx[i-1]+1){ ans[i]=cnt++; } else { int l=1, r=i, m; while(r-l>1){ m=(l+r)/2; set<int> s; cout<<i-m+1<<" "; for(int j=m;j<=i;j++){ cout<<j<<" "; s.insert(ans[j]); } cout<<endl; int act, sup=s.size();cin>>act; assert(act >= sup-1 and act <= sup); if(act == sup)r=m; else l=m; } ans[i]=ans[l]; } } cout<<"0 "; for(int i=1;i<=n;i++)cout<<ans[i]<<" "; return 0; }
#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...