Submission #1188827

#TimeUsernameProblemLanguageResultExecution timeMemory
1188827racha555Aliens (IOI07_aliens)C++20
0 / 100
1 ms408 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; bool ask(ll x,ll y){ cout<<"examine "; cout<<x<<" "<<y<<" \n"; string q; cin>>q; return q=="true"; } signed main(){ // cin.tie(0)->sync_with_stdio(0); ll n,x,y; cin>>n>>x>>y; ll raya=1; while(ask(x+raya,y)){ raya*=2; if(x+raya>n){ raya=n-x; break; } } ll l,mid,r; l=x,r=x+raya; ll bestx=x; while(l<=r){ mid=l+(r-l)/2; if(ask(mid,y)){ l=mid+1; bestx=mid; } else{ r=mid-1; } } raya=1; while(ask(bestx-raya,y)){ raya*=2; if(bestx-raya<1){ raya=bestx; break; } } l=bestx-raya,r=bestx; ll badx=x; while(l<=r){ mid=l+(r-l)/2; if(!ask(mid,y)){ l=mid+1; badx=mid; } else{ r=mid-1; } } badx+=1; // cout<<badx<<" "<<bestx; ll m=bestx-badx+1; ll midx=bestx-(m/2); ll besty,bady; l=y; raya=1; while(ask(midx,y+raya)){ raya*=2; if(y+raya>n){ raya=r-y+1; } } l=y,r=y+raya; besty=y; while(l<=r){ mid=l+(r-l)/2; if(ask(midx,mid)){ l=mid+1; besty=mid; } else{ r=mid-1; } } ll midy=besty-m/2; // cout<<midx<<"--"<<midy; bool still=true; // while(still){ // still=false; // if(ask(midx-m,midy+m)){ // still= true; // midx=midx-m; // midy=midy+m; // } // else if(ask(midx+m,midy+m)){ // still= true; // midx=midx+m; // midy=midy+m; // } // else if(ask(midx-2*m,midy)){ // still= true; // midx=midx-2*m; // } // } cout<<"solution "<<midx+2*m<<" "<<midy-2*m; }
#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...
#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...