QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#281108 | #6394. Turn on the Light | pisces | TL | 0ms | 0kb | C++14 | 883b | 2023-12-09 21:07:50 | 2023-12-09 21:07:50 |
answer
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
const int N=1e6+10;
int query(int x)
{
printf("? %d\\n",x);fflush(stdout);scanf("%d",&x);return x;
}
void print(int x)
{
printf("! %d\\n",x);
fflush(stdout);
}
void solve()
{
int n;scanf("%d",&n);
int lst=0;
int l=1,r=n;
while(1)
{
int now=query(l);
if(now==lst){print(l);return ;}
l=l+1;
lst=now;
while(l<r)
{
int mid=l+r>>1;
int now=query(mid);
if(now==lst){print(mid);return ;}
if(now>lst)
{
l=mid+1;lst=now;
}
else
{
r=mid-1;lst=now;break;
}
}
if(l==r){print(l);return ;}
}
}
int main()
{
int T=1;
while(T--)solve();
}
详细
Test #1:
score: 0
Time Limit Exceeded
input:
3
output:
? 1\n