QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#641132 | #5702. Colors | atgc | 0 | 1ms | 3848kb | C++23 | 1.1kb | 2024-10-14 18:44:14 | 2024-10-14 18:44:14 |
answer
#include<bits/stdc++.h>
#define int int64_t
using namespace std;
const int maxn = 2e5+10;
bool qry(int x){
cout<<"? "<<x<<endl;
bool res;cin>>res;return res;
}
void sol(){
int n;cin>>n;
int len=(n)/2;
int cur=0;int stp=0;
set<int>s;
while(len<n){
s.insert(cur);
if(stp^=1)cur+=len;
else cur-=len;
len=(1+len+n)/2;
}
int dta=*s.begin();
int l=1,r=n;
cur=1-dta;stp=0;
set<int>qed;
qry(cur);qed.insert(cur);
while(l<r){
int md=(l+r)>>1;
// if(stp^=1)cur+=md;
// else cur-=md;
if(cur+md>n)cur-=md;
else if(cur-md<=0)cur+=md;
else if(qed.count(cur+md))cur-=md;
else cur+=md;
qed.insert(cur);
if(qry(cur))r=md;
else l=md+1;
}
cout<<"= "<<r<<endl;
}
signed main() {
// ios::sync_with_stdio(0),cin.tie(0);
// int T;cin>>T;while(T--)
sol();
// const int n=8;
// int len=n / 2;
// int cur=0;int stp=0;
// set<int>se;
// while(len < n){
// deb(len,cur);
// assert(se.insert(cur).second);
// if(stp^=1)cur+=len;
// else cur-=len;
// int nl=(1+len+n)/2;
// len=nl;
// }
// se.insert(cur);
// deb(se,se.size());
}
详细
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 9
Accepted
time: 1ms
memory: 3848kb
input:
7 0 1 0 0
output:
? 3 ? 7 ? 5 ? 2 = 4
result:
ok OK (4 queries)
Test #2:
score: 9
Accepted
time: 0ms
memory: 3584kb
input:
49 1 0 0 0 1 1 0
output:
? 17 ? 42 ? 5 ? 48 ? 2 ? 47 ? 3 = 45
result:
ok OK (7 queries)
Test #3:
score: 9
Accepted
time: 1ms
memory: 3492kb
input:
10 1 1 1 1 0
output:
? 4 ? 9 ? 6 ? 8 ? 7 = 2
result:
ok OK (5 queries)
Test #4:
score: 9
Accepted
time: 1ms
memory: 3540kb
input:
26 1 1 1 1 1 1
output:
? 8 ? 21 ? 14 ? 18 ? 20 ? 19 = 1
result:
ok OK (6 queries)
Test #5:
score: 9
Accepted
time: 1ms
memory: 3804kb
input:
23 0 1 0 0 0
output:
? 7 ? 19 ? 13 ? 22 ? 11 = 12
result:
ok OK (5 queries)
Test #6:
score: 9
Accepted
time: 1ms
memory: 3836kb
input:
56 1 0 1 1 1 0 0
output:
? 19 ? 47 ? 5 ? 40 ? 8 ? 38 ? 7 = 32
result:
ok OK (7 queries)
Test #7:
score: 9
Accepted
time: 1ms
memory: 3836kb
input:
52 1 0 1 0 0 1 1
output:
? 17 ? 43 ? 4 ? 37 ? 1 ? 39 ? 2 = 37
result:
ok OK (7 queries)
Test #8:
score: 9
Accepted
time: 0ms
memory: 3548kb
input:
43 1 0 0 1 0 0
output:
? 15 ? 37 ? 4 ? 42 ? 6 ? 43 = 38
result:
ok OK (6 queries)
Test #9:
score: 0
Wrong Answer
time: 0ms
memory: 3772kb
input:
46 0 0 0 1 0
output:
? 16 ? 39 ? 4 ? 45 ? 7 ? -33
result:
wrong answer Integer parameter [name=k] equals to -33, violates the range [1, 46]
Subtask #2:
score: 0
Skipped
Dependency #1:
0%
Subtask #3:
score: 0
Skipped
Dependency #1:
0%
Subtask #4:
score: 0
Skipped
Dependency #1:
0%
Subtask #5:
score: 0
Skipped
Dependency #1:
0%