Submission #1296414

#TimeUsernameProblemLanguageResultExecution timeMemory
1296414PieArmyHow to Avoid Disqualification in 75 Easy Steps (CEOI23_avoid)C++20
25 / 100
2 ms440 KiB
#include<bits/stdc++.h> typedef long long ll; #define pb push_back #define fr first #define sc second #define endl '\n' using namespace std; #define mid ((left+right)>>1) #include"avoid.h" //send(vector<int>) //vector<int>wait() int n=1000; pair<int,int> scout(int R,int H){ if(R==10){ vector<int>v[10]; for(int i=1;i<=n;i++){ for(int j=0;j<10;j++){ if((i>>j)&1)v[j].pb(i); } } for(int i=0;i<10;i++){ send(v[i]); } vector<int>res=wait(); int cev=0; for(int i=0;i<10;i++){ if(res[i])cev+=(1<<i); } return {cev,cev}; } else if(R==20){ pair<int,int>p; int l=1,r=1000; while(l<r){ int mi=(l+r)/2; vector<int>v; for(int i=1;i<=mi;i++){ v.pb(i); } send(v); if(wait()[0])r=mi; else l=mi+1; } p.fr=l; l=1;r=1000; while(l<r){ int mi=(l+r+1)/2; vector<int>v; for(int i=mi;i<=n;i++){ v.pb(i); } send(v); if(wait()[0])l=mi; else r=mi-1; } p.sc=l; return p; } else if(R==30){ vector<int>v[10]; for(int i=1;i<=n;i++){ for(int j=0;j<10;j++){ if((i>>j)&1)v[j].pb(i); } } for(int i=0;i<10;i++){ send(v[i]); v[i].clear(); } for(int i=1;i<=n;i++){ for(int j=0;j<10;j++){ if(!((i>>j)&1))v[j].pb(i); } } for(int i=0;i<10;i++){ send(v[i]); v[i].clear(); } vector<int>res=wait(); int mask=0; for(int i=0;i<20;i++){ if(i<10){ if(res[i])mask+=(1<<i); } else if(res[i]==0){ if(mask&(1<<(i-10))){ mask-=(1<<(i-10)); } } } if(mask==0){ int cev=0; for(int i=0;i<10;i++){ if(res[i])cev+=(1<<i); } return {cev,cev}; } vector<int>can; for(int i=1;i<=n;i++){ if(i<(i^mask)){ can.pb(i); } } for(int i=0;i<can.size();i++){ for(int j=0;j<10;j++){ if((i>>j)&1)v[j].pb(can[i]); } } for(int i=0;i<10;i++){ send(v[i]); v[i].clear(); } res=wait(); int tar=0; for(int i=0;i<10;i++){ if(res[i])tar+=(1<<i); } return {can[tar],can[tar]^mask}; } }

Compilation message (stderr)

avoid.cpp: In function 'std::pair<int, int> scout(int, int)':
avoid.cpp:123:1: warning: control reaches end of non-void function [-Wreturn-type]
  123 | }
      | ^
#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...