CSES - Datatähti 2025 loppu - Results
Submission details
Task:Leikkijät
Sender:aatukaj
Submission time:2025-01-18 15:47:20 +0200
Language:C++ (C++17)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
#40
#50
#60
Test results
testverdicttimegroup
#10.01 s1, 2, 5, 6details
#20.01 s1, 2, 3, 5, 6details
#30.01 s1, 2, 5, 6details
#40.01 s1, 2, 4, 5, 6details
#50.01 s2, 5, 6details
#60.00 s2, 3, 5, 6details
#70.01 s2, 5, 6details
#80.01 s2, 4, 5, 6details
#90.01 s5, 6details
#100.12 s6details
#110.00 s1, 2, 5, 6details
#120.02 s6details
#130.01 s3, 5, 6details
#140.03 s3, 5, 6details
#150.01 s4, 5, 6details
#160.02 s5, 6details
#170.18 s6details
#180.03 s4, 5, 6details
#190.00 s5, 6details
#200.04 s6details
#210.12 s6details
#220.03 s5, 6details

Code

#include <bits/stdc++.h> 
#define all(v) (v).begin(), (v).end()
using namespace std;
const int maxN = 2e5+10;

int n, m;
void print(int mask) {
	for (int i=0; i<n; i++) {
		cout << char((mask>>i&1)+'0');
	}
}
int ask(int mask) {
	cout << "? ";
	print(mask);
	cout << endl;
	int res = 0;
	for (int i=0; i<m; i++) {
		char c;
		cin >> c;
		res += (c-'0')*(1<<i);
	}
	return res;
}
random_device rd;
mt19937 gen(rd());
uniform_int_distribution<int> dist(0, 0);
int rand(int l, int r) {
	dist.param(uniform_int_distribution<int>::param_type{l, r});
	return dist(gen);
}

void solve() {
	cin >> n >> m;
	map<int, int> prev;
	if (n<=10) {
		for (int mask=0; mask<1<<n; mask++) {
			int res = ask(mask);
			if (prev.count(res)) {
				cout << "YES\n";
				print(prev[res]);
				cout << '\n';
				print(mask);
				cout << endl;
				return;
			}
			prev[res] = mask;
		}
	} else {
		for (int i=0; i<3000; i++) {
			int mask = rand(0, (1<<n)-1);
			int res = ask(mask);
			if (prev.count(res)) {
				cout << "YES\n";
				print(prev[res]);
				cout << '\n';
				print(mask);
				cout << endl;
				return;
			}
			prev[res] = mask;
		}
	}
	cout << "NO\n";
	cout << endl;
}
int main() {
	solve();
}

Test details

Test 1

Group: 1, 2, 5, 6

Verdict:

input
1000
42 100
73 94
1 13
31 100
...

correct output
-1
-1
-1
-1
-1
...

user output
? 1001000100000000000000000000...
Truncated

Test 2

Group: 1, 2, 3, 5, 6

Verdict:

input
1000
54 3
42 44
30 1
52 3
...

correct output
54
44
31
52
15
...

user output
? 1101110100000000000000000000...
Truncated

Test 3

Group: 1, 2, 5, 6

Verdict:

input
1000
27 25
81 65
45 43
87 23
...

correct output
-1
-1
-1
139
-1
...

user output
? 1111110000000000000000000000...
Truncated

Test 4

Group: 1, 2, 4, 5, 6

Verdict:

input
1000
55 63
39 71
95 96
61 69
...

correct output
65
75
-1
72
98
...

user output
? 1011000000000000000000000000...
Truncated

Test 5

Group: 2, 5, 6

Verdict:

input
1000
222 56
871 832
207 364
919 980
...

correct output
-1
-1
-1
-1
-1
...

user output
? 0101100100000000000000000000...
Truncated

Test 6

Group: 2, 3, 5, 6

Verdict:

input
1000
892 3
332 334
820 822
42 1
...

correct output
892
334
822
43
108
...

user output
? 0000011100000000000000000000...
Truncated

Test 7

Group: 2, 5, 6

Verdict:

input
1000
77 93
319 575
509 381
675 707
...

correct output
98
607
574
713
919
...

user output
? 1001111000000000000000000000...
Truncated

Test 8

Group: 2, 4, 5, 6

Verdict:

input
1000
969 985
233 489
403 659
427 555
...

correct output
992
500
777
565
261
...

user output
? 0011010000000000000000000000...
Truncated

Test 9

Group: 5, 6

Verdict:

input
1000
10375 364462
501875 499131
495774 7544
133830 316225
...

correct output
-1
-1
-1
-1
-1
...

user output
? 1000111100000000000000000000...
Truncated

Test 10

Group: 6

Verdict:

input
100000
771321 298762
20752 494590
633649 443015
748804 831912
...

correct output
-1
-1
-1
-1
-1
...

user output
? 0000000000000000000000000000...
Truncated

Test 11

Group: 1, 2, 5, 6

Verdict:

input
900
1 1
1 2
1 3
1 4
...

correct output
-1
-1
3
-1
5
...

user output
? 1111000000000000000000000000...
Truncated

Test 12

Group: 6

Verdict:

input
90000
1 1
1 2
1 3
1 4
...

correct output
-1
-1
3
-1
5
...

user output
? 1000011101100111000000000000...
Truncated

Test 13

Group: 3, 5, 6

Verdict:

input
1000
237542 859435
965750 179154
972602 758585
453450 751662
...

correct output
-1
-1
-1
-1
-1
...

user output
? 0010000100000000000000000000...
Truncated

Test 14

Group: 3, 5, 6

Verdict:

input
1000
773164 1
870426 1
309736 309738
957602 957604
...

correct output
773165
870427
309738
957604
513118
...

user output
? 1001000000000000000000000000...
Truncated

Test 15

Group: 4, 5, 6

Verdict:

input
1000
178896 591355
54364 110987
361539 818612
275401 926643
...

correct output
-1
-1
-1
-1
-1
...

user output
? 1001011000000000000000000000...
Truncated

Test 16

Group: 5, 6

Verdict:

input
1000
704481 704465
696919 688727
941011 949203
171023 171025
...

correct output
-1
-1
951785
-1
-1
...

user output
? 1100100100000000000000000000...
Truncated

Test 17

Group: 6

Verdict:

input
100000
67901 133437
637521 637537
742567 742569
864043 864044
...

correct output
148638
637540
-1
-1
652457
...

user output
? 0000000000000000000000000000...
Truncated

Test 18

Group: 4, 5, 6

Verdict:

input
1000
650375 650377
181841 443985
750137 750138
256969 322505
...

correct output
-1
484136
-1
341476
850152
...

user output
? 0001010000000000000000000000...
Truncated

Test 19

Group: 5, 6

Verdict:

input
1000
1 3
1 5
1 9
1 17
...

correct output
3
5
10
20
40
...

user output
? 1010101100000000000000000000...
Truncated

Test 20

Group: 6

Verdict:

input
100000
1 3
1 5
1 9
1 17
...

correct output
3
5
10
20
40
...

user output
? 0000000000000000000000000000...
Truncated

Test 21

Group: 6

Verdict:

input
100000
999999 1
999999 3
999999 5
999999 7
...

correct output
1000002
1000005
1000000
1000011
1000001
...

user output
? 0000000000000000000000000000...
Truncated

Test 22

Group: 5, 6

Verdict:

input
1000
999999 1
999999 3
999999 5
999999 7
...

correct output
1000002
1000005
1000000
1000011
1000001
...

user output
? 0001001100000000000000000000...
Truncated