#include<bits/stdc++.h>
using namespace std;
#define ll long long
bool test(ll x,ll y)
{
string s;
printf("examine %lld %lld\n",x,y);
cin>>s;
return s=="true";
}
ll N,xo,yo;
ll M;
ll lo,ro,uo;
ll cx,cy;
ll l,r;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin>>N>>xo>>yo;
ll jump=1;
while( xo+jump <= N and test(xo+jump,yo) )jump*=2;
l= xo+ jump/2;
r=min(xo+jump,N);
while(l<r)
{
ll mid=(l+r+1)/2;
if(test(mid,yo))
l=mid;
else
r=mid-1;
}
jump=1;
ro=l;
while( xo-jump >= 1 and test(xo-jump,yo) )jump*=2;
l=max(xo-jump,(ll)1);
r=xo-jump/2;
while(l<r)
{
ll mid=(l+r)/2;
if(test(mid,yo))
r=mid;
else
l=mid+1;
}
jump=1;
lo=l;
while( yo-jump >= 1 and test(xo,yo-jump) )jump*=2;
l=max(yo-jump,(ll)1);
r=yo-jump/2;
while(l<r)
{
ll mid=(l+r)/2;
if(test(xo,mid))
r=mid;
else
l=mid+1;
}
jump=1;
uo=l;
M=ro-lo+1;
cx=lo+M/2;
cy=uo+M/2;
jump=1;
cout<<cx<<" "<<cy<<"\n";
while( cx+ 2*M*jump <= N and test(cx+2*M*jump,cy) )
jump++;
cx=cx+2*M*(jump-1);
jump=1;
while( cy+ 2*M*jump <= N and test(cx,cy+2*M*jump) )
jump++;
cy=cy+2*M*(jump-1);
cx-=2*M;
cy-=2*M;
printf("solution %lld %lld",cx,cy);
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
0 ms |
344 KB |
Time limit exceeded (wall clock) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
1 ms |
344 KB |
Time limit exceeded (wall clock) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
0 ms |
344 KB |
Time limit exceeded (wall clock) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
1 ms |
344 KB |
Time limit exceeded (wall clock) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
1 ms |
344 KB |
Time limit exceeded (wall clock) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
1 ms |
344 KB |
Time limit exceeded (wall clock) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
0 ms |
344 KB |
Time limit exceeded (wall clock) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
1 ms |
344 KB |
Time limit exceeded (wall clock) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
1 ms |
344 KB |
Time limit exceeded (wall clock) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
0 ms |
344 KB |
Time limit exceeded (wall clock) |
2 |
Halted |
0 ms |
0 KB |
- |