Submission #1096693

# Submission time Handle Problem Language Result Execution time Memory
1096693 2024-10-05T02:33:02 Z gyg Colors (BOI20_colors) C++17
9 / 100
1 ms 596 KB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define db long double

int n;

bool qry(int x) {
    cout << "? " << x << endl;
    bool ans; cin >> ans;
    return ans;
}
void brt() {
    int ps = 1, drc = +1, dst = n - 1; qry(ps);
    while (true) {
        int nw_ps = ps + drc * dst;
        if (ps == nw_ps || !qry(nw_ps)) { cout << "= " << dst + 1 << endl; return; }  
        ps = nw_ps, drc *= -1, dst--;
    }
    assert(false);
}

bool chck(int st) {
    int ps = st, drc = -1;
    int lw = 1, hg = n;
    while (lw != hg) {
        // cout << lw << " " << hg << ": " << ps << endl;
        int md = (lw + hg) / 2;
        ps += drc * md;
        if (ps < 1 || n < ps) return false;
        lw = md + 1;
        drc *= -1;
    }
    return true;
}
int gt_st() {
    int st = roundl(n * (db) 2 / 3);
    for (int i = st - 100; i <= st + 100; i++)
        if (chck(i)) return i;
    assert(false);
}

int bn_srch(int st) {
    int ps = st, drc = -1;
    int lw = 1, hg = n;
    qry(ps);
    while (lw != hg) {
        int md = (lw + hg) / 2;
        ps += drc * md;
        assert(1 <= ps && ps <= n);
        if (qry(ps)) hg = md;
        else lw = md + 1;
        drc *= -1;
    }
    return lw;
}

signed main() {
    cin >> n;

    if (n <= 64) { brt(); exit(0); } 

    int st = gt_st();
    int ans = bn_srch(st);
    cout << "= " << ans << endl;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB OK (5 queries)
2 Correct 1 ms 344 KB OK (6 queries)
3 Correct 0 ms 344 KB OK (10 queries)
4 Correct 0 ms 344 KB OK (26 queries)
5 Correct 0 ms 344 KB OK (13 queries)
6 Correct 1 ms 344 KB OK (26 queries)
7 Correct 0 ms 344 KB OK (17 queries)
8 Correct 0 ms 344 KB OK (7 queries)
9 Correct 0 ms 344 KB OK (9 queries)
10 Correct 1 ms 344 KB OK (11 queries)
11 Correct 1 ms 344 KB OK (4 queries)
12 Correct 0 ms 344 KB OK (5 queries)
13 Correct 0 ms 344 KB OK (11 queries)
14 Correct 0 ms 344 KB OK (16 queries)
15 Correct 0 ms 344 KB OK (11 queries)
16 Correct 0 ms 344 KB OK (34 queries)
17 Correct 0 ms 344 KB OK (2 queries)
18 Correct 0 ms 344 KB OK (16 queries)
19 Correct 0 ms 344 KB OK (3 queries)
20 Correct 0 ms 596 KB OK (31 queries)
21 Correct 0 ms 344 KB OK (9 queries)
22 Correct 0 ms 344 KB OK (2 queries)
23 Correct 0 ms 344 KB OK (2 queries)
24 Correct 0 ms 344 KB OK (2 queries)
25 Correct 0 ms 344 KB OK (3 queries)
26 Correct 0 ms 344 KB OK (3 queries)
27 Correct 0 ms 344 KB OK (2 queries)
28 Correct 0 ms 344 KB OK (3 queries)
29 Correct 0 ms 344 KB OK (4 queries)
30 Correct 0 ms 344 KB OK (4 queries)
31 Correct 0 ms 344 KB OK (2 queries)
32 Correct 0 ms 344 KB OK (3 queries)
33 Correct 0 ms 344 KB OK (4 queries)
34 Correct 0 ms 344 KB OK (5 queries)
35 Correct 0 ms 344 KB OK (5 queries)
36 Correct 0 ms 344 KB OK (2 queries)
37 Correct 0 ms 344 KB OK (3 queries)
38 Correct 0 ms 344 KB OK (4 queries)
39 Correct 0 ms 344 KB OK (5 queries)
40 Correct 0 ms 344 KB OK (6 queries)
41 Correct 0 ms 344 KB OK (6 queries)
42 Correct 0 ms 344 KB OK (2 queries)
43 Correct 0 ms 344 KB OK (3 queries)
44 Correct 1 ms 344 KB OK (4 queries)
45 Correct 0 ms 344 KB OK (5 queries)
46 Correct 0 ms 344 KB OK (6 queries)
47 Correct 0 ms 344 KB OK (7 queries)
48 Correct 0 ms 344 KB OK (7 queries)
49 Correct 0 ms 344 KB OK (2 queries)
50 Correct 0 ms 344 KB OK (3 queries)
51 Correct 1 ms 344 KB OK (4 queries)
52 Correct 0 ms 344 KB OK (5 queries)
53 Correct 1 ms 344 KB OK (6 queries)
54 Correct 0 ms 344 KB OK (7 queries)
55 Correct 0 ms 344 KB OK (8 queries)
56 Correct 0 ms 344 KB OK (8 queries)
57 Correct 0 ms 344 KB OK (3 queries)
58 Correct 0 ms 344 KB OK (2 queries)
59 Correct 1 ms 344 KB OK (3 queries)
60 Correct 0 ms 344 KB OK (2 queries)
61 Correct 1 ms 344 KB OK (63 queries)
62 Correct 0 ms 344 KB OK (2 queries)
63 Correct 1 ms 344 KB OK (63 queries)
64 Correct 0 ms 344 KB OK (3 queries)
65 Correct 1 ms 344 KB OK (62 queries)
66 Correct 0 ms 344 KB OK (4 queries)
67 Correct 0 ms 344 KB OK (61 queries)
68 Correct 0 ms 344 KB OK (5 queries)
69 Correct 0 ms 344 KB OK (60 queries)
70 Correct 0 ms 344 KB OK (6 queries)
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB OK (5 queries)
2 Correct 1 ms 344 KB OK (6 queries)
3 Correct 0 ms 344 KB OK (10 queries)
4 Correct 0 ms 344 KB OK (26 queries)
5 Correct 0 ms 344 KB OK (13 queries)
6 Correct 1 ms 344 KB OK (26 queries)
7 Correct 0 ms 344 KB OK (17 queries)
8 Correct 0 ms 344 KB OK (7 queries)
9 Correct 0 ms 344 KB OK (9 queries)
10 Correct 1 ms 344 KB OK (11 queries)
11 Correct 1 ms 344 KB OK (4 queries)
12 Correct 0 ms 344 KB OK (5 queries)
13 Correct 0 ms 344 KB OK (11 queries)
14 Correct 0 ms 344 KB OK (16 queries)
15 Correct 0 ms 344 KB OK (11 queries)
16 Correct 0 ms 344 KB OK (34 queries)
17 Correct 0 ms 344 KB OK (2 queries)
18 Correct 0 ms 344 KB OK (16 queries)
19 Correct 0 ms 344 KB OK (3 queries)
20 Correct 0 ms 596 KB OK (31 queries)
21 Correct 0 ms 344 KB OK (9 queries)
22 Correct 0 ms 344 KB OK (2 queries)
23 Correct 0 ms 344 KB OK (2 queries)
24 Correct 0 ms 344 KB OK (2 queries)
25 Correct 0 ms 344 KB OK (3 queries)
26 Correct 0 ms 344 KB OK (3 queries)
27 Correct 0 ms 344 KB OK (2 queries)
28 Correct 0 ms 344 KB OK (3 queries)
29 Correct 0 ms 344 KB OK (4 queries)
30 Correct 0 ms 344 KB OK (4 queries)
31 Correct 0 ms 344 KB OK (2 queries)
32 Correct 0 ms 344 KB OK (3 queries)
33 Correct 0 ms 344 KB OK (4 queries)
34 Correct 0 ms 344 KB OK (5 queries)
35 Correct 0 ms 344 KB OK (5 queries)
36 Correct 0 ms 344 KB OK (2 queries)
37 Correct 0 ms 344 KB OK (3 queries)
38 Correct 0 ms 344 KB OK (4 queries)
39 Correct 0 ms 344 KB OK (5 queries)
40 Correct 0 ms 344 KB OK (6 queries)
41 Correct 0 ms 344 KB OK (6 queries)
42 Correct 0 ms 344 KB OK (2 queries)
43 Correct 0 ms 344 KB OK (3 queries)
44 Correct 1 ms 344 KB OK (4 queries)
45 Correct 0 ms 344 KB OK (5 queries)
46 Correct 0 ms 344 KB OK (6 queries)
47 Correct 0 ms 344 KB OK (7 queries)
48 Correct 0 ms 344 KB OK (7 queries)
49 Correct 0 ms 344 KB OK (2 queries)
50 Correct 0 ms 344 KB OK (3 queries)
51 Correct 1 ms 344 KB OK (4 queries)
52 Correct 0 ms 344 KB OK (5 queries)
53 Correct 1 ms 344 KB OK (6 queries)
54 Correct 0 ms 344 KB OK (7 queries)
55 Correct 0 ms 344 KB OK (8 queries)
56 Correct 0 ms 344 KB OK (8 queries)
57 Correct 0 ms 344 KB OK (3 queries)
58 Correct 0 ms 344 KB OK (2 queries)
59 Correct 1 ms 344 KB OK (3 queries)
60 Correct 0 ms 344 KB OK (2 queries)
61 Correct 1 ms 344 KB OK (63 queries)
62 Correct 0 ms 344 KB OK (2 queries)
63 Correct 1 ms 344 KB OK (63 queries)
64 Correct 0 ms 344 KB OK (3 queries)
65 Correct 1 ms 344 KB OK (62 queries)
66 Correct 0 ms 344 KB OK (4 queries)
67 Correct 0 ms 344 KB OK (61 queries)
68 Correct 0 ms 344 KB OK (5 queries)
69 Correct 0 ms 344 KB OK (60 queries)
70 Correct 0 ms 344 KB OK (6 queries)
71 Correct 1 ms 344 KB OK (8 queries)
72 Correct 0 ms 344 KB OK (7 queries)
73 Correct 1 ms 344 KB OK (8 queries)
74 Correct 0 ms 344 KB OK (8 queries)
75 Correct 0 ms 344 KB OK (8 queries)
76 Correct 1 ms 344 KB OK (8 queries)
77 Correct 0 ms 344 KB OK (8 queries)
78 Runtime error 0 ms 344 KB Execution killed with signal 6
79 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB OK (5 queries)
2 Correct 1 ms 344 KB OK (6 queries)
3 Correct 0 ms 344 KB OK (10 queries)
4 Correct 0 ms 344 KB OK (26 queries)
5 Correct 0 ms 344 KB OK (13 queries)
6 Correct 1 ms 344 KB OK (26 queries)
7 Correct 0 ms 344 KB OK (17 queries)
8 Correct 0 ms 344 KB OK (7 queries)
9 Correct 0 ms 344 KB OK (9 queries)
10 Correct 1 ms 344 KB OK (11 queries)
11 Correct 1 ms 344 KB OK (4 queries)
12 Correct 0 ms 344 KB OK (5 queries)
13 Correct 0 ms 344 KB OK (11 queries)
14 Correct 0 ms 344 KB OK (16 queries)
15 Correct 0 ms 344 KB OK (11 queries)
16 Correct 0 ms 344 KB OK (34 queries)
17 Correct 0 ms 344 KB OK (2 queries)
18 Correct 0 ms 344 KB OK (16 queries)
19 Correct 0 ms 344 KB OK (3 queries)
20 Correct 0 ms 596 KB OK (31 queries)
21 Correct 0 ms 344 KB OK (9 queries)
22 Correct 0 ms 344 KB OK (2 queries)
23 Correct 0 ms 344 KB OK (2 queries)
24 Correct 0 ms 344 KB OK (2 queries)
25 Correct 0 ms 344 KB OK (3 queries)
26 Correct 0 ms 344 KB OK (3 queries)
27 Correct 0 ms 344 KB OK (2 queries)
28 Correct 0 ms 344 KB OK (3 queries)
29 Correct 0 ms 344 KB OK (4 queries)
30 Correct 0 ms 344 KB OK (4 queries)
31 Correct 0 ms 344 KB OK (2 queries)
32 Correct 0 ms 344 KB OK (3 queries)
33 Correct 0 ms 344 KB OK (4 queries)
34 Correct 0 ms 344 KB OK (5 queries)
35 Correct 0 ms 344 KB OK (5 queries)
36 Correct 0 ms 344 KB OK (2 queries)
37 Correct 0 ms 344 KB OK (3 queries)
38 Correct 0 ms 344 KB OK (4 queries)
39 Correct 0 ms 344 KB OK (5 queries)
40 Correct 0 ms 344 KB OK (6 queries)
41 Correct 0 ms 344 KB OK (6 queries)
42 Correct 0 ms 344 KB OK (2 queries)
43 Correct 0 ms 344 KB OK (3 queries)
44 Correct 1 ms 344 KB OK (4 queries)
45 Correct 0 ms 344 KB OK (5 queries)
46 Correct 0 ms 344 KB OK (6 queries)
47 Correct 0 ms 344 KB OK (7 queries)
48 Correct 0 ms 344 KB OK (7 queries)
49 Correct 0 ms 344 KB OK (2 queries)
50 Correct 0 ms 344 KB OK (3 queries)
51 Correct 1 ms 344 KB OK (4 queries)
52 Correct 0 ms 344 KB OK (5 queries)
53 Correct 1 ms 344 KB OK (6 queries)
54 Correct 0 ms 344 KB OK (7 queries)
55 Correct 0 ms 344 KB OK (8 queries)
56 Correct 0 ms 344 KB OK (8 queries)
57 Correct 0 ms 344 KB OK (3 queries)
58 Correct 0 ms 344 KB OK (2 queries)
59 Correct 1 ms 344 KB OK (3 queries)
60 Correct 0 ms 344 KB OK (2 queries)
61 Correct 1 ms 344 KB OK (63 queries)
62 Correct 0 ms 344 KB OK (2 queries)
63 Correct 1 ms 344 KB OK (63 queries)
64 Correct 0 ms 344 KB OK (3 queries)
65 Correct 1 ms 344 KB OK (62 queries)
66 Correct 0 ms 344 KB OK (4 queries)
67 Correct 0 ms 344 KB OK (61 queries)
68 Correct 0 ms 344 KB OK (5 queries)
69 Correct 0 ms 344 KB OK (60 queries)
70 Correct 0 ms 344 KB OK (6 queries)
71 Correct 1 ms 344 KB OK (8 queries)
72 Correct 0 ms 344 KB OK (7 queries)
73 Correct 1 ms 344 KB OK (8 queries)
74 Correct 0 ms 344 KB OK (8 queries)
75 Correct 0 ms 344 KB OK (8 queries)
76 Correct 1 ms 344 KB OK (8 queries)
77 Correct 0 ms 344 KB OK (8 queries)
78 Runtime error 0 ms 344 KB Execution killed with signal 6
79 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB OK (5 queries)
2 Correct 1 ms 344 KB OK (6 queries)
3 Correct 0 ms 344 KB OK (10 queries)
4 Correct 0 ms 344 KB OK (26 queries)
5 Correct 0 ms 344 KB OK (13 queries)
6 Correct 1 ms 344 KB OK (26 queries)
7 Correct 0 ms 344 KB OK (17 queries)
8 Correct 0 ms 344 KB OK (7 queries)
9 Correct 0 ms 344 KB OK (9 queries)
10 Correct 1 ms 344 KB OK (11 queries)
11 Correct 1 ms 344 KB OK (4 queries)
12 Correct 0 ms 344 KB OK (5 queries)
13 Correct 0 ms 344 KB OK (11 queries)
14 Correct 0 ms 344 KB OK (16 queries)
15 Correct 0 ms 344 KB OK (11 queries)
16 Correct 0 ms 344 KB OK (34 queries)
17 Correct 0 ms 344 KB OK (2 queries)
18 Correct 0 ms 344 KB OK (16 queries)
19 Correct 0 ms 344 KB OK (3 queries)
20 Correct 0 ms 596 KB OK (31 queries)
21 Correct 0 ms 344 KB OK (9 queries)
22 Correct 0 ms 344 KB OK (2 queries)
23 Correct 0 ms 344 KB OK (2 queries)
24 Correct 0 ms 344 KB OK (2 queries)
25 Correct 0 ms 344 KB OK (3 queries)
26 Correct 0 ms 344 KB OK (3 queries)
27 Correct 0 ms 344 KB OK (2 queries)
28 Correct 0 ms 344 KB OK (3 queries)
29 Correct 0 ms 344 KB OK (4 queries)
30 Correct 0 ms 344 KB OK (4 queries)
31 Correct 0 ms 344 KB OK (2 queries)
32 Correct 0 ms 344 KB OK (3 queries)
33 Correct 0 ms 344 KB OK (4 queries)
34 Correct 0 ms 344 KB OK (5 queries)
35 Correct 0 ms 344 KB OK (5 queries)
36 Correct 0 ms 344 KB OK (2 queries)
37 Correct 0 ms 344 KB OK (3 queries)
38 Correct 0 ms 344 KB OK (4 queries)
39 Correct 0 ms 344 KB OK (5 queries)
40 Correct 0 ms 344 KB OK (6 queries)
41 Correct 0 ms 344 KB OK (6 queries)
42 Correct 0 ms 344 KB OK (2 queries)
43 Correct 0 ms 344 KB OK (3 queries)
44 Correct 1 ms 344 KB OK (4 queries)
45 Correct 0 ms 344 KB OK (5 queries)
46 Correct 0 ms 344 KB OK (6 queries)
47 Correct 0 ms 344 KB OK (7 queries)
48 Correct 0 ms 344 KB OK (7 queries)
49 Correct 0 ms 344 KB OK (2 queries)
50 Correct 0 ms 344 KB OK (3 queries)
51 Correct 1 ms 344 KB OK (4 queries)
52 Correct 0 ms 344 KB OK (5 queries)
53 Correct 1 ms 344 KB OK (6 queries)
54 Correct 0 ms 344 KB OK (7 queries)
55 Correct 0 ms 344 KB OK (8 queries)
56 Correct 0 ms 344 KB OK (8 queries)
57 Correct 0 ms 344 KB OK (3 queries)
58 Correct 0 ms 344 KB OK (2 queries)
59 Correct 1 ms 344 KB OK (3 queries)
60 Correct 0 ms 344 KB OK (2 queries)
61 Correct 1 ms 344 KB OK (63 queries)
62 Correct 0 ms 344 KB OK (2 queries)
63 Correct 1 ms 344 KB OK (63 queries)
64 Correct 0 ms 344 KB OK (3 queries)
65 Correct 1 ms 344 KB OK (62 queries)
66 Correct 0 ms 344 KB OK (4 queries)
67 Correct 0 ms 344 KB OK (61 queries)
68 Correct 0 ms 344 KB OK (5 queries)
69 Correct 0 ms 344 KB OK (60 queries)
70 Correct 0 ms 344 KB OK (6 queries)
71 Correct 1 ms 344 KB OK (8 queries)
72 Correct 0 ms 344 KB OK (7 queries)
73 Correct 1 ms 344 KB OK (8 queries)
74 Correct 0 ms 344 KB OK (8 queries)
75 Correct 0 ms 344 KB OK (8 queries)
76 Correct 1 ms 344 KB OK (8 queries)
77 Correct 0 ms 344 KB OK (8 queries)
78 Runtime error 0 ms 344 KB Execution killed with signal 6
79 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB OK (5 queries)
2 Correct 1 ms 344 KB OK (6 queries)
3 Correct 0 ms 344 KB OK (10 queries)
4 Correct 0 ms 344 KB OK (26 queries)
5 Correct 0 ms 344 KB OK (13 queries)
6 Correct 1 ms 344 KB OK (26 queries)
7 Correct 0 ms 344 KB OK (17 queries)
8 Correct 0 ms 344 KB OK (7 queries)
9 Correct 0 ms 344 KB OK (9 queries)
10 Correct 1 ms 344 KB OK (11 queries)
11 Correct 1 ms 344 KB OK (4 queries)
12 Correct 0 ms 344 KB OK (5 queries)
13 Correct 0 ms 344 KB OK (11 queries)
14 Correct 0 ms 344 KB OK (16 queries)
15 Correct 0 ms 344 KB OK (11 queries)
16 Correct 0 ms 344 KB OK (34 queries)
17 Correct 0 ms 344 KB OK (2 queries)
18 Correct 0 ms 344 KB OK (16 queries)
19 Correct 0 ms 344 KB OK (3 queries)
20 Correct 0 ms 596 KB OK (31 queries)
21 Correct 0 ms 344 KB OK (9 queries)
22 Correct 0 ms 344 KB OK (2 queries)
23 Correct 0 ms 344 KB OK (2 queries)
24 Correct 0 ms 344 KB OK (2 queries)
25 Correct 0 ms 344 KB OK (3 queries)
26 Correct 0 ms 344 KB OK (3 queries)
27 Correct 0 ms 344 KB OK (2 queries)
28 Correct 0 ms 344 KB OK (3 queries)
29 Correct 0 ms 344 KB OK (4 queries)
30 Correct 0 ms 344 KB OK (4 queries)
31 Correct 0 ms 344 KB OK (2 queries)
32 Correct 0 ms 344 KB OK (3 queries)
33 Correct 0 ms 344 KB OK (4 queries)
34 Correct 0 ms 344 KB OK (5 queries)
35 Correct 0 ms 344 KB OK (5 queries)
36 Correct 0 ms 344 KB OK (2 queries)
37 Correct 0 ms 344 KB OK (3 queries)
38 Correct 0 ms 344 KB OK (4 queries)
39 Correct 0 ms 344 KB OK (5 queries)
40 Correct 0 ms 344 KB OK (6 queries)
41 Correct 0 ms 344 KB OK (6 queries)
42 Correct 0 ms 344 KB OK (2 queries)
43 Correct 0 ms 344 KB OK (3 queries)
44 Correct 1 ms 344 KB OK (4 queries)
45 Correct 0 ms 344 KB OK (5 queries)
46 Correct 0 ms 344 KB OK (6 queries)
47 Correct 0 ms 344 KB OK (7 queries)
48 Correct 0 ms 344 KB OK (7 queries)
49 Correct 0 ms 344 KB OK (2 queries)
50 Correct 0 ms 344 KB OK (3 queries)
51 Correct 1 ms 344 KB OK (4 queries)
52 Correct 0 ms 344 KB OK (5 queries)
53 Correct 1 ms 344 KB OK (6 queries)
54 Correct 0 ms 344 KB OK (7 queries)
55 Correct 0 ms 344 KB OK (8 queries)
56 Correct 0 ms 344 KB OK (8 queries)
57 Correct 0 ms 344 KB OK (3 queries)
58 Correct 0 ms 344 KB OK (2 queries)
59 Correct 1 ms 344 KB OK (3 queries)
60 Correct 0 ms 344 KB OK (2 queries)
61 Correct 1 ms 344 KB OK (63 queries)
62 Correct 0 ms 344 KB OK (2 queries)
63 Correct 1 ms 344 KB OK (63 queries)
64 Correct 0 ms 344 KB OK (3 queries)
65 Correct 1 ms 344 KB OK (62 queries)
66 Correct 0 ms 344 KB OK (4 queries)
67 Correct 0 ms 344 KB OK (61 queries)
68 Correct 0 ms 344 KB OK (5 queries)
69 Correct 0 ms 344 KB OK (60 queries)
70 Correct 0 ms 344 KB OK (6 queries)
71 Correct 1 ms 344 KB OK (8 queries)
72 Correct 0 ms 344 KB OK (7 queries)
73 Correct 1 ms 344 KB OK (8 queries)
74 Correct 0 ms 344 KB OK (8 queries)
75 Correct 0 ms 344 KB OK (8 queries)
76 Correct 1 ms 344 KB OK (8 queries)
77 Correct 0 ms 344 KB OK (8 queries)
78 Runtime error 0 ms 344 KB Execution killed with signal 6
79 Halted 0 ms 0 KB -