| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1366633 | warrenn | Colors (BOI20_colors) | C++20 | 0 ms | 420 KiB |
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int maxn=1e5;
int query(int x){
cout<<"? "<<x<<endl;
int val; cin>>val;
return val;
}
signed main(){
int n; cin>>n;
vector<int>v;
int l=1,r=n-1;
while(l<=r){
int mid=(l+r)/2;
v.push_back(mid);
l=mid+1;
}
reverse(v.begin(),v.end());
int pos=0;
for(int q=0;q<v.size();q++){
if(q%2==0)pos+=v[q];
else pos-=v[q];
}
query(pos);
int cnt=0;
if(pos-1>n-pos)cnt=1;
l=1,r=n-1;
int ans=n;
while(l<=r){
int mid=(l+r)/2;
if(cnt%2==0){
pos+=mid;
}
else{
pos-=mid;
}
cnt++;
int val=query(pos);
if(val){
ans=mid; r=mid-1;
}
else{
l=mid+1;
}
}
cout<<"= "<<ans<<endl;
}| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
