Submission #330085

#TimeUsernameProblemLanguageResultExecution timeMemory
330085Sho10Carnival (CEOI14_carnival)C++14
100 / 100
26 ms376 KiB
#include <bits/stdc++.h> //Andrei Alexandru a.k.a Sho10 #define ll long long #define double long double #pragma GCC optimize("O3") #pragma GCC optimize("Ofast") #define all(a) (a).begin(), (a).end() #define f first #define s second #define pb push_back #define mp make_pair #define pi pair #define rc(s) return cout<<s,0 #define endl '\n' #define mod (10*10*10*10*10*10*10*10*10+7) #define PI 3.14159265359 #define MAXN 100005 #define INF 1000000005 #define LINF 1000000000000000005ll #define CODE_START ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); using namespace std; ll n,c[155]; ll query(ll pos){ if(pos==0){ return 0; } cout<<pos<<' '; for(ll i=1;i<=pos;i++) { cout<<i<<' '; } cout<<endl; ll nr; cin>>nr; return nr; } ll query1(ll pos,ll x){ cout<<pos+1<<' '; for(ll i=1;i<=pos;i++) { cout<<i<<' '; } cout<<x<<endl; ll nr; cin>>nr; return nr; } int32_t main(){ //CODE_START; cin>>n; c[0]=1; c[1]=1; ll cnt=1,val=1; for(ll i=2;i<=n;i++) { if(query(i)==cnt){ ll l=0,r=i-1; while(l<r){ ll mid=(l+r)/2; if(query(mid)==query1(mid,i)){ r=mid; }else { l=mid+1; } } c[i]=c[l]; }else { c[i]=++val; cnt++; } } cout<<0<<' '; for(ll i=1;i<=n;i++) { cout<<c[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...