Submission #995888

#TimeUsernameProblemLanguageResultExecution timeMemory
995888ThanhsCarnival (CEOI14_carnival)C++14
0 / 100
21 ms344 KiB
#pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #include <bits/stdc++.h> using namespace std; #define int long long #define pb push_back // #define endl '\n' #define fastIO ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); #define setmin(x,y) x=min((x),(y)) #define setmax(x,y) x=max((x),(y)) #define fi first #define se second mt19937 hdp(chrono::high_resolution_clock::now().time_since_epoch().count()); int rand(int l,int r){return l+((hdp()%(r-l+1))+r-l+1)%(r-l+1);} const int N = 2e5+5; const int mod = 998244353; const int SQ = 450; const int inf = 1e9+1; int n,ans[N],cnt; int ask(int l,int r) { if(min(l,r)<=0||max(l,r)>n||l>r) return 0; cout<<r-l+1<<' '; for(int i=l;i<=r;i++) cout<<i<<' '; cout<<endl; int res; cin>>res; return res; } signed main() { fastIO // freopen("in.txt","r",stdin); // freopen("out.txt","w",stdout); cin>>n; for(int i=1;i<=n;i++) { if(ask(1,i)!=ask(1,i-1)) { ans[i]=cnt++; continue; } int r=i-1,l=0; while(l<r-1) { int m=l+r>>1; if(ask(m,i)==ask(m,i-1)) r=m; else l=m; } ans[i]=ans[r]; } for(int i=1;i<=n;i++) cout<<ans[i]<<' '; return 0; }

Compilation message (stderr)

carnival.cpp: In function 'int main()':
carnival.cpp:51:20: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   51 |             int m=l+r>>1;
      |                   ~^~
#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...