QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#404693 | #6394. Turn on the Light | hanmx# | WA | 0ms | 3540kb | C++23 | 664b | 2024-05-04 14:46:03 | 2024-05-04 14:46:05 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
using ll =long long;
ll ask(ll d)
{
cout<<"? "<<d<<endl;
ll n;
cin>>n;
return n;
}
void solve()
{
ll n;
cin>>n;
ll l=1,r=n+1;
ll t=0;
while(l<=r)
{
ll mid=(l+r)>>1;
ll d=ask(mid);
if(d==t)
{
cout<<"! "<<mid<<endl;
return;
}else if(d>t)
{
l=mid+1;
}else{
r=mid-1;
}
t=d;
//cout<<l<<" "<<r<<" "<<t<<"\n";
}
}
int main(){
ll t=1;
//cin>>t;
while(t--)
{
solve();
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3532kb
input:
3 1 1
output:
? 2 ? 3 ! 3
result:
ok Correct position at 3
Test #2:
score: -100
Wrong Answer
time: 0ms
memory: 3540kb
input:
10 1 2 3
output:
? 6 ? 9 ? 10 ? 11
result:
wrong answer Integer parameter [name=x] equals to 11, violates the range [1, 10]