QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#641145#5702. Colorsatgc0 1ms3864kbC++231.3kb2024-10-14 18:51:492024-10-14 18:51:50

Judging History

你现在查看的是最新测评结果

  • [2024-10-14 18:51:50]
  • 评测
  • 测评结果:0
  • 用时:1ms
  • 内存:3864kb
  • [2024-10-14 18:51:49]
  • 提交

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 cur=0;

{
	int l=1,r=n;
	set<int>qed;
	qed.insert(cur);
	while(l<r){
		int md=(l+r)>>1;
		// if(stp^=1)cur+=md;
		// else cur-=md;
		// deb(cur+md,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(0)r=md;
		else l=md+1;
	}
	cur=1-*qed.begin();
}

	int l=1,r=n;
	set<int>qed;
	qry(cur);qed.insert(cur);
	while(l<r){
		int md=(l+r)>>1;
		// if(stp^=1)cur+=md;
		// else cur-=md;
		// deb(cur+md,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: 3860kb

input:

7
0
1
0
0

output:

? 3
? 7
? 5
? 2
= 4

result:

ok OK (4 queries)

Test #2:

score: 9
Accepted
time: 1ms
memory: 3664kb

input:

49
1
0
0
0
1
1
0

output:

? 16
? 41
? 4
? 47
? 1
? 46
? 2
= 45

result:

ok OK (7 queries)

Test #3:

score: 9
Accepted
time: 0ms
memory: 3864kb

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: 0ms
memory: 3564kb

input:

26
0
1
1
1
1
1

output:

? 10
? 23
? 16
? 20
? 22
? 21
= 1

result:

ok OK (6 queries)

Test #5:

score: 9
Accepted
time: 1ms
memory: 3624kb

input:

23
1
1
0
0
0

output:

? 8
? 20
? 14
? 23
? 12
= 12

result:

ok OK (5 queries)

Test #6:

score: 9
Accepted
time: 0ms
memory: 3576kb

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: 3560kb

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: 3628kb

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: 1ms
memory: 3624kb

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%