This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
typedef long long int ll;
using namespace std;
int main(){
ll n; cin >> n;
cout << "? 1" << endl;
bool noticed;
cin >> noticed;
ll a = 0, b = n; // a < c <= b
ll curr = 1;
while (b-a > 1){
ll jump = a + (b-a)/2;
ll nxt;
if (curr > jump)
nxt = curr-jump;
else {
if (curr+jump > n) jump = n-curr;
nxt = curr+jump;
}
cout << "? " << nxt << endl;
cin >> noticed;
if (noticed)
b = jump;
else a = jump;
curr = nxt;
}
cout << "= " << b << endl;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |