Task: | Contest |
Sender: | kyy-kol |
Submission time: | 2017-05-27 15:41:49 +0300 |
Language: | C++ |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.05 s | details |
#2 | ACCEPTED | 0.03 s | details |
#3 | ACCEPTED | 0.02 s | details |
#4 | ACCEPTED | 0.05 s | details |
#5 | ACCEPTED | 0.05 s | details |
#6 | ACCEPTED | 0.05 s | details |
#7 | ACCEPTED | 0.04 s | details |
#8 | ACCEPTED | 0.06 s | details |
#9 | ACCEPTED | 0.06 s | details |
#10 | ACCEPTED | 0.06 s | details |
#11 | ACCEPTED | 0.04 s | details |
#12 | ACCEPTED | 0.05 s | details |
#13 | ACCEPTED | 0.05 s | details |
#14 | ACCEPTED | 0.04 s | details |
#15 | ACCEPTED | 0.05 s | details |
#16 | ACCEPTED | 0.04 s | details |
#17 | ACCEPTED | 0.06 s | details |
#18 | ACCEPTED | 0.05 s | details |
#19 | ACCEPTED | 0.05 s | details |
#20 | ACCEPTED | 0.07 s | details |
#21 | ACCEPTED | 0.08 s | details |
#22 | ACCEPTED | 0.05 s | details |
#23 | ACCEPTED | 0.07 s | details |
#24 | ACCEPTED | 0.06 s | details |
#25 | ACCEPTED | 0.06 s | details |
#26 | ACCEPTED | 0.06 s | details |
#27 | ACCEPTED | 0.06 s | details |
#28 | ACCEPTED | 0.04 s | details |
#29 | ACCEPTED | 0.05 s | details |
#30 | ACCEPTED | 0.03 s | details |
#31 | ACCEPTED | 0.06 s | details |
#32 | ACCEPTED | 0.10 s | details |
#33 | ACCEPTED | 0.08 s | details |
#34 | ACCEPTED | 0.12 s | details |
#35 | ACCEPTED | 0.12 s | details |
#36 | ACCEPTED | 0.09 s | details |
#37 | ACCEPTED | 0.12 s | details |
#38 | ACCEPTED | 0.11 s | details |
#39 | ACCEPTED | 0.06 s | details |
#40 | ACCEPTED | 0.10 s | details |
#41 | ACCEPTED | 0.09 s | details |
#42 | ACCEPTED | 0.08 s | details |
#43 | ACCEPTED | 0.09 s | details |
#44 | ACCEPTED | 0.07 s | details |
#45 | ACCEPTED | 0.12 s | details |
#46 | ACCEPTED | 0.09 s | details |
Code
#include <iostream> #include <algorithm> using namespace std; int kysy(int n, int a, int q){ if(a == 0) return 1e9+1; if(a > n ) return 0; cout << q << " " << a << endl; cin >> a; return a; } void laske(int n, int k){ int A1 = k, A2 = 0; while(A1 - A2 > 1){ int A = (A1 - A2)/2 + A2; int B = k+1-A; int c=1e9+1, d=1e9+1; cout << "1 " << A << endl; cin >> c; cout << "2 " << B << endl; cin >> d; if( c < d ) A1 = A; else A2 = A; } int t[4]; t[0] = kysy(n, A1, 1); t[1] = kysy(n, A2, 1); t[2] = kysy(n, k + 1 - A1, 2); t[3] = kysy(n, k + 1 - A2, 2); sort(t, t+4); cout << "3 " << t[2] << endl; } int main() { int n, k; cin >> n >> k; if(k <= n){ laske(n, k); return 0; } k = 2*n - k; int A1 = n+1, A2 = n-k; while(A1 - A2 > 1){ int A = (A1 - A2)/2 + A2; int B = 2*n - k- A; int c=1e9+1, d=1e9+1; cout << "1 " << A << endl; cin >> c; cout << "2 " << B << endl; cin >> d; if( c < d ) A1 = A; else A2 = A; } int t[4]; t[0] = kysy(n, A1, 1); t[1] = kysy(n, A2, 1); t[2] = kysy(n, 2*n-k-A1, 2); t[3] = kysy(n, 2*n-k - A2, 2); sort(t, t+4); cout << "3 " << t[1] << endl; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
1 1 33 18 |
correct output |
---|
(empty) |
user output |
---|
1 1 1 1 33 2 1 18 ... |
Test 2
Verdict: ACCEPTED
input |
---|
1 1 37 55 |
correct output |
---|
(empty) |
user output |
---|
1 1 1 1 37 2 1 55 ... |
Test 3
Verdict: ACCEPTED
input |
---|
1 2 80 38 |
correct output |
---|
(empty) |
user output |
---|
1 2 1 1 80 2 1 38 ... |
Test 4
Verdict: ACCEPTED
input |
---|
1 2 29 48 |
correct output |
---|
(empty) |
user output |
---|
1 2 1 1 29 2 1 48 ... |
Test 5
Verdict: ACCEPTED
input |
---|
2 1 98 91 83 14 |
correct output |
---|
(empty) |
user output |
---|
2 1 1 1 98 2 1 83 ... |
Test 6
Verdict: ACCEPTED
input |
---|
2 1 25 23 39 31 |
correct output |
---|
(empty) |
user output |
---|
2 1 1 1 25 2 1 39 ... |
Test 7
Verdict: ACCEPTED
input |
---|
2 1 73 57 77 32 |
correct output |
---|
(empty) |
user output |
---|
2 1 1 1 73 2 1 77 ... |
Test 8
Verdict: ACCEPTED
input |
---|
2 2 77 64 63 2 |
correct output |
---|
(empty) |
user output |
---|
2 2 1 1 77 2 2 2 ... |
Test 9
Verdict: ACCEPTED
input |
---|
2 2 61 28 97 90 |
correct output |
---|
(empty) |
user output |
---|
2 2 1 1 61 2 2 90 ... |
Test 10
Verdict: ACCEPTED
input |
---|
2 2 87 66 75 38 |
correct output |
---|
(empty) |
user output |
---|
2 2 1 1 87 2 2 38 ... |
Test 11
Verdict: ACCEPTED
input |
---|
2 4 70 39 33 12 |
correct output |
---|
(empty) |
user output |
---|
2 4 1 2 39 2 1 33 ... |
Test 12
Verdict: ACCEPTED
input |
---|
2 4 47 20 67 52 |
correct output |
---|
(empty) |
user output |
---|
2 4 1 2 20 2 1 67 ... |
Test 13
Verdict: ACCEPTED
input |
---|
2 4 54 20 90 1 |
correct output |
---|
(empty) |
user output |
---|
2 4 1 2 20 2 1 90 ... |
Test 14
Verdict: ACCEPTED
input |
---|
2 4 68 66 64 61 |
correct output |
---|
(empty) |
user output |
---|
2 4 1 2 66 2 1 64 ... |
Test 15
Verdict: ACCEPTED
input |
---|
2 4 35 27 68 66 |
correct output |
---|
(empty) |
user output |
---|
2 4 1 2 27 2 1 68 ... |
Test 16
Verdict: ACCEPTED
input |
---|
2 4 51 32 25 18 |
correct output |
---|
(empty) |
user output |
---|
2 4 1 2 32 2 1 25 ... |
Test 17
Verdict: ACCEPTED
input |
---|
10 1 100 78 74 72 71 70 64 57 43 39 29 26 22 21 15 13 11 9 4 3 |
correct output |
---|
(empty) |
user output |
---|
10 1 1 1 100 2 1 29 ... |
Test 18
Verdict: ACCEPTED
input |
---|
10 1 56 52 49 48 17 14 13 12 9 3 99 98 84 80 78 75 69 67 66 62 |
correct output |
---|
(empty) |
user output |
---|
10 1 1 1 56 2 1 99 ... |
Test 19
Verdict: ACCEPTED
input |
---|
10 1 91 86 73 65 53 42 28 14 13 6 100 77 70 58 52 41 35 33 17 9 |
correct output |
---|
(empty) |
user output |
---|
10 1 1 1 91 2 1 100 ... |
Test 20
Verdict: ACCEPTED
input |
---|
10 2 88 87 69 68 64 63 57 55 54 51 50 36 35 31 27 22 15 14 8 1 |
correct output |
---|
(empty) |
user output |
---|
10 2 1 1 88 2 2 36 ... |
Test 21
Verdict: ACCEPTED
input |
---|
10 2 31 28 26 16 13 9 8 6 5 2 95 87 80 78 76 65 59 53 41 40 |
correct output |
---|
(empty) |
user output |
---|
10 2 1 1 31 2 2 87 ... |
Test 22
Verdict: ACCEPTED
input |
---|
10 2 98 93 89 68 61 41 32 30 23 4 96 86 76 75 73 58 35 29 26 7 |
correct output |
---|
(empty) |
user output |
---|
10 2 1 1 98 2 2 86 ... |
Test 23
Verdict: ACCEPTED
input |
---|
10 10 99 86 85 84 82 81 77 74 71 69 45 27 26 24 21 18 15 13 11 4 |
correct output |
---|
(empty) |
user output |
---|
10 10 1 5 82 2 6 18 ... Truncated |
Test 24
Verdict: ACCEPTED
input |
---|
10 10 46 41 40 28 24 23 18 14 8 4 100 94 90 85 78 77 75 68 59 54 |
correct output |
---|
(empty) |
user output |
---|
10 10 1 5 24 2 6 77 ... |
Test 25
Verdict: ACCEPTED
input |
---|
10 10 91 80 68 39 38 37 31 30 7 1 100 95 87 71 67 41 33 18 17 11 |
correct output |
---|
(empty) |
user output |
---|
10 10 1 5 38 2 6 41 ... Truncated |
Test 26
Verdict: ACCEPTED
input |
---|
10 18 87 86 85 80 79 74 64 60 59 47 43 39 37 34 29 27 26 16 6 5 |
correct output |
---|
(empty) |
user output |
---|
10 18 1 9 59 2 9 6 ... |
Test 27
Verdict: ACCEPTED
input |
---|
10 18 54 48 42 38 28 27 22 19 15 5 100 96 91 84 79 73 72 64 63 60 |
correct output |
---|
(empty) |
user output |
---|
10 18 1 9 15 2 9 63 ... |
Test 28
Verdict: ACCEPTED
input |
---|
10 18 98 87 84 71 62 59 45 38 34 10 89 86 77 73 69 67 46 32 31 6 |
correct output |
---|
(empty) |
user output |
---|
10 18 1 9 34 2 9 31 ... |
Test 29
Verdict: ACCEPTED
input |
---|
10 20 91 90 86 79 73 71 67 65 61 56 46 44 36 25 18 11 6 5 3 1 |
correct output |
---|
(empty) |
user output |
---|
10 20 1 10 56 2 9 3 ... |
Test 30
Verdict: ACCEPTED
input |
---|
10 20 56 48 47 46 35 28 26 18 10 3 95 90 89 85 79 77 67 66 62 59 |
correct output |
---|
(empty) |
user output |
---|
10 20 1 10 3 2 9 62 ... |
Test 31
Verdict: ACCEPTED
input |
---|
10 20 81 80 79 76 71 63 57 34 29 24 96 70 61 59 52 36 22 5 4 2 |
correct output |
---|
(empty) |
user output |
---|
10 20 1 10 24 2 9 4 ... |
Test 32
Verdict: ACCEPTED
input |
---|
100000 1 999998453 999997813 999980598 ... |
correct output |
---|
(empty) |
user output |
---|
100000 1 1 1 999998453 2 1 501385639 ... |
Test 33
Verdict: ACCEPTED
input |
---|
100000 1 498482877 498480230 498478078 ... |
correct output |
---|
(empty) |
user output |
---|
100000 1 1 1 498482877 2 1 999998503 ... |
Test 34
Verdict: ACCEPTED
input |
---|
100000 1 999986977 999979153 999972315 ... |
correct output |
---|
(empty) |
user output |
---|
100000 1 1 1 999986977 2 1 999999598 ... |
Test 35
Verdict: ACCEPTED
input |
---|
100000 20000 999990977 999974610 999971985 ... |
correct output |
---|
(empty) |
user output |
---|
100000 20000 1 10000 950169971 2 10001 451022637 ... Truncated |
Test 36
Verdict: ACCEPTED
input |
---|
100000 20000 501434689 501431546 501422578 ... |
correct output |
---|
(empty) |
user output |
---|
100000 20000 1 10000 451341105 2 10001 950464477 ... Truncated |
Test 37
Verdict: ACCEPTED
input |
---|
100000 20000 999995686 999994228 999993000 ... |
correct output |
---|
(empty) |
user output |
---|
100000 20000 1 10000 900678332 2 10001 899657840 ... Truncated |
Test 38
Verdict: ACCEPTED
input |
---|
100000 100000 999992342 999991618 999988963 ... |
correct output |
---|
(empty) |
user output |
---|
100000 100000 1 50000 750743799 2 50001 249320531 ... Truncated |
Test 39
Verdict: ACCEPTED
input |
---|
100000 100000 500754694 500749114 500734428 ... |
correct output |
---|
(empty) |
user output |
---|
100000 100000 1 50000 249818189 2 50001 750767095 ... Truncated |
Test 40
Verdict: ACCEPTED
input |
---|
100000 100000 999988713 999962210 999939592 ... |
correct output |
---|
(empty) |
user output |
---|
100000 100000 1 50000 499530532 2 50001 499159178 ... Truncated |
Test 41
Verdict: ACCEPTED
input |
---|
100000 180000 999994001 999991970 999991811 ... |
correct output |
---|
(empty) |
user output |
---|
100000 180000 1 90000 549258882 2 90000 50126530 ... Truncated |
Test 42
Verdict: ACCEPTED
input |
---|
100000 180000 499560736 499555703 499549265 ... |
correct output |
---|
(empty) |
user output |
---|
100000 180000 1 90000 48927497 2 90000 548853417 ... Truncated |
Test 43
Verdict: ACCEPTED
input |
---|
100000 180000 999996507 999993660 999990414 ... |
correct output |
---|
(empty) |
user output |
---|
100000 180000 1 90000 97972596 2 90000 98995321 ... Truncated |
Test 44
Verdict: ACCEPTED
input |
---|
100000 200000 999987384 999983480 999981446 ... |
correct output |
---|
(empty) |
user output |
---|
100000 200000 1 100000 499647604 2 99999 33623 ... |
Test 45
Verdict: ACCEPTED
input |
---|
100000 200000 500801844 500800718 500792295 ... |
correct output |
---|
(empty) |
user output |
---|
100000 200000 1 100000 8183 2 99999 500806597 ... |
Test 46
Verdict: ACCEPTED
input |
---|
100000 200000 999984710 999974756 999965175 ... |
correct output |
---|
(empty) |
user output |
---|
100000 200000 1 100000 13769 2 99999 5656 ... |