Submission #1310543

#TimeUsernameProblemLanguageResultExecution timeMemory
1310543StefanSebezAliens (IOI07_aliens)C++20
100 / 100
1 ms400 KiB
#include<bits/stdc++.h> using namespace std; #define fi first #define se second #define pb push_back #define ll long long #define ld long double #define mp make_pair ll n,X0,Y0; bool Ask(ll x,ll y){ if(x<=0||x>n||y<=0||y>n)return false; printf("examine %lld %lld\n",x,y); fflush(stdout); string s;cin>>s; return s=="true"; } int main(){ scanf("%lld%lld%lld",&n,&X0,&Y0); ll L,R,l,r,d; L=Y0,R=Y0; l=Y0,r=n; while(l<=r){ ll mid=l+r>>1; if(Ask(X0,mid))R=mid,l=mid+1; else r=mid-1; } l=1,r=Y0; while(l<=r){ ll mid=l+r>>1; if(Ask(X0,mid))L=mid,r=mid-1; else l=mid+1; } d=R-L+1; if(!Ask(X0,L+d/5))d/=5; else if(!Ask(X0,L+d/3))d/=3; while(Ask(X0,L-2*d))L-=2*d; while(Ask(X0,R+2*d))R+=2*d; ll Y=L+R>>1; L=X0,R=X0; l=X0,r=n; while(l<=r){ ll mid=l+r>>1; if(Ask(mid,Y0))R=mid,l=mid+1; else r=mid-1; } l=1,r=X0; while(l<=r){ ll mid=l+r>>1; if(Ask(mid,Y0))L=mid,r=mid-1; else l=mid+1; } d=R-L+1; if(!Ask(L+d/5,Y0))d/=5; else if(!Ask(L+d/3,Y0))d/=3; while(Ask(L-2*d,Y0))L-=2*d; while(Ask(R+2*d,Y0))R+=2*d; ll X=L+R>>1; printf("solution %lld %lld\n",X,Y); fflush(stdout); return 0; }

Compilation message (stderr)

aliens.cpp: In function 'int main()':
aliens.cpp:18:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   18 |     scanf("%lld%lld%lld",&n,&X0,&Y0);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...