Submission #574949

#TimeUsernameProblemLanguageResultExecution timeMemory
574949DodoCarnival (CEOI14_carnival)C++14
0 / 100
20 ms324 KiB
#include <bits/stdc++.h> #define ll long long #define pb push_back using namespace std; ll inf =1e12; const ll mx=155; ll arr[mx]; vector<ll>v[155]; ll vis[mx+1]; ll c=0; void dfs(ll x) { vis[x]=c; for(auto u:v[x]) if(!vis[u])dfs(u); } ll cnt (ll l,ll r) { ll k=0; for(int i=l;i<=r;i++)if(arr[i]==0)k++; return k; } ll call (ll k,ll l,ll r) { if(k==1)return 1; if(l==r)return 1; cout<<k<<endl; for(int i=l;i<=r;i++)if(arr[i]==0)cout<<i<<' '; cout<<endl; fflush(stdout); ll x; cin>>x; return x; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); ll n; cin>>n; ll l=1,r=2; while(r<=n) { ll k=cnt(l,r); ll ans=call(k,l,r); if(ans!=k) { ll le=l+1,ri=r; while(le<=ri) { ll k=cnt(le,ri); if(le==ri) { v[le-1].push_back(r); arr[le-1]=1; break; } else { ll ans=call(k,le,ri); if(ans==k) { v[le-1].push_back(r); arr[le-1]=1; break; } else le++; } } } r++; while(arr[l]==1&&l<r-1)l++; } for(int i=1;i<=n;i++) { if(vis[i]==0) { c++; dfs(i); } } for(int i=1;i<=n;i++)cout<<vis[i]<<' '; fflush(stdout); 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...