QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#853350#9734. Identify Chorducup-team6275#AC ✓57ms3744kbC++232.9kb2025-01-11 16:42:022025-01-11 16:42:04

Judging History

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

  • [2025-01-11 16:42:04]
  • 评测
  • 测评结果:AC
  • 用时:57ms
  • 内存:3744kb
  • [2025-01-11 16:42:02]
  • 提交

answer

#include <bits/stdc++.h>

using namespace std;

using ll = long long;
using ld = long double;

#define all(a) a.begin(), a.end()
#define rall(a) a.rbegin(), a.rend()
#define rep(i, n) for (int i = 0; i < (n); i += 1)
#define len(a) ((int)(a).size())

mt19937 rnd(234);
const ll inf = 1e18;

#ifdef LOCAL
bool local = false;
#else
bool local = false;
#endif

ll n;
ll x = 1, y = 3;

ll norm_dist(ll a, ll b) {
    ll d = abs(a - b);
    return min(d, n - d);
}

ll query(ll a, ll b) {
    if (a == b) {
        return 0;
    }
    if (norm_dist(a, b) == 1) {
        return 1;
    }
    if (local) {
        ll dist = norm_dist(a, b);
        dist = min(dist, norm_dist(a, x) + norm_dist(y, b) + 1);
        dist = min(dist, norm_dist(a, y) + norm_dist(x, b) + 1);
        return dist;
    }
    cout << "? " << a + 1 << " " << b + 1 << endl;
    ll res;
    cin >> res;
    return res;
}

int32_t main() {
    if (1) {
        ios::sync_with_stdio(0);
        cin.tie(0);
        cout.tie(0);
    }
    int t;
    cin >> t;
    rep(itr, t) {
        cin >> n;
        x = rnd() % n;
        y = rnd() % n;
        while (norm_dist(x, y) < 2) {
            y = rnd() % n;
        }
        ll a = 0;
        ll b = n / 2;
        ll dist = query(a, b);
        while (dist == norm_dist(a, b)) {
            b = (b + 1) % n;
            dist = query(a, b);
            if (dist != norm_dist(a, b)) {
                break;
            }
            a = (a + 1) % n;
            dist = query(a, b);
        }
        if (query((a + n - 1) % n, b) < dist) {
            ll l = 1;
            ll r = dist;
            while (l + 1 < r) {
                ll m = (l + r) / 2;
                if (query((a + n - m) % n, b) == dist - m) {
                    l = m;
                } else {
                    r = m;
                }
            }
            a = (a + n - l) % n;
            dist = query(a, b);
        } else if (query((a + 1) % n, b) < dist) {
            ll l = 1;
            ll r = dist;
            while (l + 1 < r) {
                ll m = (l + r) / 2;
                if (query((a + m) % n, b) == dist - m) {
                    l = m;
                } else {
                    r = m;
                }
            }
            a = (a + l) % n;
            dist = query(a, b);
        }
        if (dist > 1) {
            if (query(a, (b + n - 1) % n) < dist) {
                b = (b + n - (dist - 1)) % n;
            } else {
                b = (b + (dist - 1)) % n;
            }
        }
        cout << "! " << a + 1 << " " << b + 1 << endl;
        if (local) {
            assert(set<int>({a, b}) == set<int>({x, y}));
        } else {
            int r;
            cin >> r;
            if (r == -1) {
                exit(0);
            }
        }
    }
    return 0;
}

这程序好像有点Bug,我给组数据试试?

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3504kb

input:

2
6
2
2
1
1
1
4
1
1

output:

? 1 4
? 6 4
? 2 4
? 2 4
! 2 4
? 1 3
! 1 3

result:

ok ok (2 test cases)

Test #2:

score: 0
Accepted
time: 5ms
memory: 3680kb

input:

1000
15
5
6
4
2
1
1
1
19
5
6
4
4
3
3
4
1
17
5
6
4
4
3
3
4
1
15
6
7
6
5
1
14
5
6
4
4
5
4
3
1
15
3
4
2
3
2
3
1
17
8
8
8
7
7
6
5
5
4
4
5
1
20
6
7
7
5
1
13
5
4
2
3
2
1
1
18
3
2
3
2
3
1
13
4
3
4
3
4
1
14
2
1
1
1
17
8
7
7
6
3
2
3
2
3
1
12
5
5
4
3
3
3
3
1
10
5
4
5
4
3
4
2
1
1
1
14
6
6
5
3
2
1
1
1
19
8
7
6
...

output:

? 1 8
? 15 8
? 2 8
? 4 8
? 5 8
? 5 8
! 5 8
? 1 10
? 19 10
? 2 10
? 4 10
? 3 10
? 3 10
? 3 9
! 3 12
? 1 9
? 17 9
? 2 9
? 4 9
? 3 9
? 3 9
? 3 8
! 3 11
? 1 8
? 15 8
? 2 8
? 1 7
! 1 3
? 1 8
? 14 8
? 2 8
? 4 8
? 3 8
? 2 8
? 2 7
! 2 5
? 1 8
? 15 8
? 2 8
? 3 8
? 2 8
? 2 7
! 2 9
? 1 9
? 1 10
? 2 10
? 2 11
?...

result:

ok ok (1000 test cases)

Test #3:

score: 0
Accepted
time: 7ms
memory: 3432kb

input:

1000
21
3
2
3
2
1
1
22
8
9
7
7
6
7
6
7
1
20
5
6
4
2
1
1
1
22
10
10
9
5
4
4
4
4
1
21
9
10
8
4
3
3
3
3
1
21
8
7
6
6
5
5
6
1
24
11
10
5
4
4
4
3
1
22
10
9
5
3
2
2
2
3
1
21
4
5
3
4
3
4
1
23
8
7
8
8
7
8
1
21
10
10
10
9
9
8
4
4
3
3
4
1
24
9
10
8
4
2
3
2
3
1
20
9
8
4
2
1
1
1
24
11
11
10
5
3
2
2
2
1
1
23
8
9...

output:

? 1 11
? 21 11
? 20 11
? 21 11
? 21 10
! 21 10
? 1 12
? 22 12
? 2 12
? 5 12
? 3 12
? 4 12
? 3 12
? 3 11
! 3 17
? 1 11
? 20 11
? 2 11
? 4 11
? 5 11
? 5 11
! 5 11
? 1 12
? 22 12
? 2 12
? 6 12
? 8 12
? 7 12
? 7 12
? 7 11
! 7 15
? 1 11
? 21 11
? 2 11
? 6 11
? 8 11
? 7 11
? 7 11
? 7 10
! 7 13
? 1 11
? 21...

result:

ok ok (1000 test cases)

Test #4:

score: 0
Accepted
time: 4ms
memory: 3432kb

input:

1000
25
8
9
9
7
1
25
6
5
7
6
5
4
1
25
11
10
7
8
9
8
7
1
25
5
6
4
4
3
3
2
1
26
12
11
6
4
5
5
5
6
1
26
11
10
7
10
9
9
8
1
26
13
12
13
12
11
12
12
12
1
27
12
13
11
6
4
5
5
5
4
1
25
9
8
4
2
1
1
1
27
9
10
8
8
6
7
6
5
1
27
11
10
5
5
4
4
5
1
27
13
13
13
13
12
13
11
7
9
8
7
7
7
1
26
5
4
4
3
3
4
1
25
11
10
7...

output:

? 1 13
? 25 13
? 2 13
? 1 12
! 1 6
? 1 13
? 25 13
? 23 13
? 24 13
? 25 13
? 25 12
! 25 9
? 1 13
? 25 13
? 20 13
? 23 13
? 22 13
? 23 13
? 23 12
! 23 6
? 1 13
? 25 13
? 2 13
? 4 13
? 3 13
? 3 13
? 3 12
! 3 11
? 1 14
? 26 14
? 21 14
? 18 14
? 20 14
? 19 14
? 20 14
? 20 13
! 20 18
? 1 14
? 26 14
? 21 1...

result:

ok ok (1000 test cases)

Test #5:

score: 0
Accepted
time: 12ms
memory: 3428kb

input:

1000
29
10
11
9
9
9
8
8
9
1
28
13
12
7
9
8
8
8
7
1
30
3
4
2
3
2
3
1
29
4
5
3
4
3
2
1
28
8
7
4
2
3
2
1
1
29
6
7
5
5
4
4
5
1
29
9
8
8
6
7
6
7
1
28
11
12
10
5
5
4
4
3
1
30
4
3
2
1
1
1
30
8
7
4
2
3
2
1
1
28
11
12
10
5
3
2
3
2
3
1
29
14
13
12
6
4
5
5
5
6
1
29
11
12
10
8
10
9
9
8
1
29
7
6
3
2
1
1
1
29
14
...

output:

? 1 15
? 29 15
? 2 15
? 6 15
? 4 15
? 3 15
? 3 15
? 3 14
! 3 22
? 1 15
? 28 15
? 22 15
? 25 15
? 24 15
? 23 15
? 24 15
? 24 14
! 24 8
? 1 16
? 30 16
? 2 16
? 3 16
? 2 16
? 2 15
! 2 17
? 1 15
? 29 15
? 2 15
? 3 15
? 2 15
? 2 14
! 2 13
? 1 15
? 28 15
? 25 15
? 23 15
? 22 15
? 23 15
? 23 14
! 23 14
? 1...

result:

ok ok (1000 test cases)

Test #6:

score: 0
Accepted
time: 22ms
memory: 3540kb

input:

1000
32
13
14
12
9
9
10
9
8
1
30
14
13
8
11
12
11
11
12
1
32
16
15
16
15
14
15
13
9
10
9
8
8
9
1
31
5
6
4
2
3
2
1
1
32
7
8
6
7
5
6
5
6
1
32
8
9
7
10
8
7
8
1
31
15
14
14
13
7
4
4
3
3
4
1
31
6
5
7
6
5
6
1
32
12
13
11
6
3
4
3
2
1
30
14
13
8
10
9
9
9
10
1
31
11
10
10
8
9
8
7
1
31
10
9
5
3
2
3
2
3
1
33
7...

output:

? 1 17
? 32 17
? 2 17
? 8 17
? 5 17
? 6 17
? 5 17
? 5 16
! 5 9
? 1 16
? 30 16
? 24 16
? 27 16
? 29 16
? 28 16
? 28 16
? 28 15
! 28 26
? 1 17
? 1 18
? 2 18
? 2 19
? 3 19
? 2 19
? 4 19
? 10 19
? 7 19
? 8 19
? 9 19
? 9 19
? 9 18
! 9 26
? 1 16
? 31 16
? 2 16
? 4 16
? 5 16
? 4 16
? 4 15
! 4 15
? 1 17
? 3...

result:

ok ok (1000 test cases)

Test #7:

score: 0
Accepted
time: 0ms
memory: 3440kb

input:

1000
34
17
16
16
16
15
9
13
14
13
13
13
1
33
8
9
7
4
4
3
3
2
1
33
11
10
11
8
9
8
9
1
34
11
10
11
8
9
8
7
1
34
11
12
10
11
12
11
10
11
1
35
14
15
15
13
1
34
8
7
8
6
7
6
5
1
34
14
15
13
10
10
11
10
11
1
34
16
16
15
9
13
14
13
13
12
1
33
9
8
4
6
5
4
5
1
33
16
16
16
16
15
16
14
7
4
2
1
1
1
34
16
16
16
1...

output:

? 1 18
? 1 19
? 2 19
? 1 19
? 3 19
? 10 19
? 6 19
? 4 19
? 5 19
? 5 19
? 5 18
! 5 31
? 1 17
? 33 17
? 2 17
? 5 17
? 7 17
? 6 17
? 6 17
? 6 16
! 6 15
? 1 17
? 33 17
? 28 17
? 31 17
? 30 17
? 31 17
? 31 16
! 31 24
? 1 18
? 34 18
? 29 18
? 32 18
? 31 18
? 32 18
? 32 17
! 32 11
? 1 18
? 34 18
? 2 18
? 7...

result:

ok ok (1000 test cases)

Test #8:

score: 0
Accepted
time: 4ms
memory: 3720kb

input:

1000
36
18
17
17
17
16
8
4
2
1
1
1
36
3
2
1
1
1
36
13
14
12
11
11
11
10
10
9
1
36
5
6
4
4
3
3
2
1
36
18
17
17
17
16
9
13
14
13
13
13
1
36
12
13
11
6
3
4
3
4
1
35
13
12
6
7
5
6
5
6
1
36
13
14
12
6
3
4
3
4
1
36
14
15
13
11
10
9
10
9
10
1
36
16
17
15
8
6
8
9
8
7
1
36
9
10
8
6
6
5
5
6
1
36
8
7
6
6
5
5
4...

output:

? 1 19
? 1 20
? 2 20
? 1 20
? 3 20
? 11 20
? 15 20
? 17 20
? 18 20
? 18 20
! 18 20
? 1 19
? 36 19
? 35 19
? 35 19
! 35 19
? 1 19
? 36 19
? 2 19
? 8 19
? 5 19
? 3 19
? 4 19
? 4 19
? 4 18
! 4 10
? 1 19
? 36 19
? 2 19
? 4 19
? 3 19
? 3 19
? 3 18
! 3 17
? 1 19
? 1 20
? 2 20
? 1 20
? 3 20
? 11 20
? 7 20
...

result:

ok ok (1000 test cases)

Test #9:

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

input:

1000
37
17
16
8
6
6
7
6
5
1
36
17
16
8
5
7
8
8
9
1
38
9
10
8
4
4
3
3
2
1
37
15
16
14
7
4
4
3
3
4
1
37
12
11
6
3
2
1
1
1
36
8
7
6
6
5
5
6
1
37
6
5
5
4
4
5
1
37
18
18
18
18
17
18
16
9
12
10
10
10
10
1
37
17
16
8
4
2
1
1
1
37
8
9
7
4
4
3
3
4
1
37
10
9
11
9
8
8
9
1
37
18
18
18
17
17
18
18
1
36
3
2
3
2
3...

output:

? 1 19
? 37 19
? 29 19
? 25 19
? 27 19
? 26 19
? 27 19
? 27 18
! 27 14
? 1 19
? 36 19
? 28 19
? 24 19
? 26 19
? 27 19
? 28 19
? 28 18
! 28 26
? 1 20
? 38 20
? 2 20
? 6 20
? 8 20
? 7 20
? 7 20
? 7 19
! 7 18
? 1 19
? 37 19
? 2 19
? 9 19
? 12 19
? 14 19
? 13 19
? 13 19
? 13 18
! 13 21
? 1 19
? 37 19
? ...

result:

ok ok (1000 test cases)

Test #10:

score: 0
Accepted
time: 6ms
memory: 3420kb

input:

1000
39
18
19
17
9
6
7
6
6
6
1
38
8
7
4
2
3
2
3
1
38
19
18
19
18
17
18
16
8
6
6
5
5
6
1
39
12
13
11
13
13
12
11
10
1
38
15
14
7
4
2
3
2
3
1
39
4
5
5
5
1
39
18
17
11
15
17
16
16
15
1
38
18
18
17
9
5
3
2
1
1
1
39
14
15
15
15
1
39
11
12
10
5
5
4
4
3
1
39
9
10
8
10
8
7
7
8
1
38
19
18
18
18
17
9
5
3
2
1
...

output:

? 1 20
? 39 20
? 2 20
? 10 20
? 14 20
? 12 20
? 13 20
? 13 20
? 13 19
! 13 25
? 1 20
? 38 20
? 35 20
? 33 20
? 32 20
? 33 20
? 33 19
! 33 21
? 1 20
? 1 21
? 2 21
? 2 22
? 3 22
? 2 22
? 4 22
? 12 22
? 16 22
? 14 22
? 15 22
? 15 22
? 15 21
! 15 26
? 1 20
? 39 20
? 2 20
? 7 20
? 4 20
? 3 20
? 2 20
? 2 ...

result:

ok ok (1000 test cases)

Test #11:

score: 0
Accepted
time: 11ms
memory: 3512kb

input:

1000
40
12
13
11
6
9
7
6
7
1
40
18
19
17
9
7
7
8
7
8
1
40
15
16
14
12
15
13
14
13
14
1
40
8
9
9
7
1
40
16
15
8
4
4
3
3
4
1
40
15
14
7
9
8
7
6
1
41
13
14
14
12
1
40
7
6
5
5
4
4
5
1
40
18
17
9
5
3
4
3
4
1
40
6
7
5
3
4
3
2
1
40
4
5
3
4
3
2
1
41
12
13
11
12
9
10
9
10
1
40
17
16
8
7
9
9
8
7
1
40
18
17
9
...

output:

? 1 21
? 40 21
? 2 21
? 7 21
? 10 21
? 8 21
? 7 21
? 7 20
! 7 26
? 1 21
? 40 21
? 2 21
? 10 21
? 14 21
? 12 21
? 13 21
? 12 21
? 12 20
! 12 27
? 1 21
? 40 21
? 2 21
? 9 21
? 5 21
? 3 21
? 4 21
? 3 21
? 3 20
! 3 33
? 1 21
? 40 21
? 2 21
? 1 20
! 1 14
? 1 21
? 40 21
? 33 21
? 29 21
? 27 21
? 28 21
? 2...

result:

ok ok (1000 test cases)

Test #12:

score: 0
Accepted
time: 0ms
memory: 3680kb

input:

1000
42
11
12
10
7
8
7
6
6
5
1
41
17
16
12
14
14
13
13
14
1
41
8
7
8
6
7
6
5
1
41
12
11
6
9
7
6
5
1
41
12
13
11
6
3
4
3
4
1
41
18
17
12
13
14
14
13
12
1
41
14
13
14
16
14
13
14
1
41
20
20
19
20
18
10
14
12
11
10
10
10
1
41
17
16
12
14
14
13
13
12
1
41
15
14
7
4
6
5
4
5
1
41
18
17
9
8
10
10
9
8
1
42
...

output:

? 1 22
? 42 22
? 2 22
? 7 22
? 4 22
? 5 22
? 6 22
? 6 22
? 6 21
! 6 17
? 1 21
? 41 21
? 33 21
? 37 21
? 39 21
? 38 21
? 38 21
? 38 20
! 38 33
? 1 21
? 41 21
? 38 21
? 40 21
? 39 21
? 40 21
? 40 20
! 40 16
? 1 21
? 41 21
? 36 21
? 33 21
? 35 21
? 36 21
? 36 20
! 36 16
? 1 21
? 41 21
? 2 21
? 7 21
? 1...

result:

ok ok (1000 test cases)

Test #13:

score: 0
Accepted
time: 12ms
memory: 3488kb

input:

1000
43
4
5
3
2
3
2
1
1
42
18
19
17
9
5
3
4
3
2
1
43
6
7
5
3
2
3
2
1
1
43
18
17
9
9
11
10
9
8
1
43
21
21
21
20
20
19
12
17
17
18
17
18
1
43
17
16
13
12
14
13
12
11
1
43
18
19
17
12
16
17
16
16
15
1
43
21
21
21
20
20
21
21
1
42
13
12
8
9
8
7
7
8
1
42
20
19
10
6
9
10
10
11
1
42
5
4
4
3
3
2
1
43
5
6
6
...

output:

? 1 22
? 43 22
? 2 22
? 3 22
? 4 22
? 3 22
? 3 21
! 3 21
? 1 22
? 42 22
? 2 22
? 10 22
? 14 22
? 16 22
? 17 22
? 16 22
? 16 21
! 16 20
? 1 22
? 43 22
? 2 22
? 4 22
? 5 22
? 6 22
? 5 22
? 5 21
! 5 21
? 1 22
? 43 22
? 35 22
? 31 22
? 33 22
? 34 22
? 35 22
? 35 21
! 35 14
? 1 22
? 1 23
? 2 23
? 2 24
? ...

result:

ok ok (1000 test cases)

Test #14:

score: 0
Accepted
time: 18ms
memory: 3468kb

input:

1000
44
22
21
22
21
20
21
19
12
17
17
18
17
18
1
44
11
12
10
9
8
7
8
7
8
1
43
11
10
5
3
4
3
4
1
43
21
21
21
21
20
21
19
10
5
4
5
5
5
1
44
19
20
18
12
17
19
19
18
19
1
44
16
17
15
14
12
14
13
12
11
1
44
17
16
8
4
4
3
3
2
1
44
10
11
9
5
3
4
3
4
1
43
13
12
6
3
4
3
2
1
43
4
3
2
3
2
3
1
44
9
10
8
4
4
3
3...

output:

? 1 23
? 1 24
? 2 24
? 2 25
? 3 25
? 2 25
? 4 25
? 13 25
? 8 25
? 6 25
? 7 25
? 6 25
? 6 24
! 6 41
? 1 23
? 44 23
? 2 23
? 7 23
? 4 23
? 5 23
? 6 23
? 5 23
? 5 22
! 5 29
? 1 22
? 43 22
? 38 22
? 36 22
? 35 22
? 36 22
? 36 21
! 36 24
? 1 22
? 1 23
? 2 23
? 2 24
? 3 24
? 2 24
? 4 24
? 13 24
? 18 24
? ...

result:

ok ok (1000 test cases)

Test #15:

score: 0
Accepted
time: 10ms
memory: 3432kb

input:

1000
45
20
19
13
18
20
20
19
18
1
45
16
15
15
12
14
13
12
11
1
45
10
11
9
7
7
6
6
5
1
45
15
16
14
13
11
11
10
10
11
1
45
11
12
10
15
12
11
10
9
1
45
16
15
8
11
10
9
8
7
1
45
19
18
9
5
5
4
4
5
1
45
5
4
2
3
2
1
1
44
19
18
12
14
12
13
12
13
1
45
12
13
13
13
1
44
20
19
12
15
13
12
13
12
13
1
45
15
16
14...

output:

? 1 23
? 45 23
? 36 23
? 41 23
? 43 23
? 44 23
? 45 23
? 45 22
! 45 5
? 1 23
? 45 23
? 38 23
? 42 23
? 40 23
? 41 23
? 42 23
? 42 22
! 42 12
? 1 23
? 45 23
? 2 23
? 6 23
? 4 23
? 5 23
? 5 23
? 5 22
! 5 18
? 1 23
? 45 23
? 2 23
? 9 23
? 5 23
? 7 23
? 6 23
? 6 23
? 6 22
! 6 32
? 1 23
? 45 23
? 2 23
? ...

result:

ok ok (1000 test cases)

Test #16:

score: 0
Accepted
time: 0ms
memory: 3512kb

input:

1000
46
18
19
17
9
10
9
8
8
9
1
46
9
10
8
8
6
7
6
7
1
46
22
22
21
12
16
15
16
16
16
1
46
19
20
18
13
14
16
15
14
13
1
46
5
6
6
4
1
46
21
22
20
10
7
8
9
8
9
1
46
18
19
17
9
9
7
8
7
8
1
46
16
17
15
8
6
6
5
5
6
1
46
22
21
11
6
3
2
2
2
3
1
46
5
6
4
6
5
4
5
1
45
19
18
13
14
14
13
13
14
1
46
14
13
13
10
1...

output:

? 1 24
? 46 24
? 2 24
? 10 24
? 14 24
? 12 24
? 11 24
? 11 24
? 11 23
! 11 31
? 1 24
? 46 24
? 2 24
? 6 24
? 4 24
? 5 24
? 4 24
? 4 23
! 4 29
? 1 24
? 46 24
? 2 24
? 12 24
? 7 24
? 9 24
? 8 24
? 7 24
? 7 23
! 7 39
? 1 24
? 46 24
? 2 24
? 11 24
? 6 24
? 8 24
? 7 24
? 6 24
? 6 23
! 6 11
? 1 24
? 46 24...

result:

ok ok (1000 test cases)

Test #17:

score: 0
Accepted
time: 44ms
memory: 3492kb

input:

1000
1000000000
499999999
499999998
250000000
374999999
312500000
343750000
359375000
367187500
371093750
373046874
372070312
371582032
371826173
371948243
372009278
372039796
372055054
372047425
372043611
372045519
372046473
372046950
372047188
372047307
372047367
372047396
372047381
372047375
3720...

output:

? 1 500000001
? 1000000000 500000001
? 750000001 500000001
? 875000001 500000001
? 812500001 500000001
? 843750001 500000001
? 859375001 500000001
? 867187501 500000001
? 871093751 500000001
? 873046876 500000001
? 872070314 500000001
? 871582033 500000001
? 871826174 500000001
? 871948244 500000001...

result:

ok ok (1000 test cases)

Test #18:

score: 0
Accepted
time: 25ms
memory: 3460kb

input:

1000
1000000000
499999969
499999970
499999968
249999984
124999992
62500027
93750025
109374993
101562494
97656244
95703150
96679713
97167963
96923823
96801753
96740749
96771236
96755977
96748379
96752163
96750256
96749302
96748856
96749095
96749183
96749124
96749100
96749109
96749102
96749098
9674909...

output:

? 1 500000001
? 1000000000 500000001
? 2 500000001
? 249999986 500000001
? 374999978 500000001
? 437499974 500000001
? 406249976 500000001
? 390624977 500000001
? 398437476 500000001
? 402343726 500000001
? 404296851 500000001
? 403320288 500000001
? 402832007 500000001
? 403076147 500000001
? 40319...

result:

ok ok (1000 test cases)

Test #19:

score: 0
Accepted
time: 27ms
memory: 3424kb

input:

1000
1000000000
474148191
474148192
474148190
237074097
355611143
296342619
266708357
251891226
244482661
240778378
238926237
238000166
237537131
237305613
237189854
237131975
237103035
237088565
237081330
237077713
237075904
237075000
237074548
237074322
237074209
237074152
237074124
237074110
2370...

output:

? 1 500000001
? 1000000000 500000001
? 2 500000001
? 237074097 500000001
? 118537049 500000001
? 177805573 500000001
? 207439835 500000001
? 222256966 500000001
? 229665531 500000001
? 233369814 500000001
? 235221955 500000001
? 236148026 500000001
? 236611061 500000001
? 236842579 500000001
? 23695...

result:

ok ok (1000 test cases)

Test #20:

score: 0
Accepted
time: 42ms
memory: 3472kb

input:

1000
1000000000
230485382
230485381
115242691
172863966
144053293
129647957
122445289
118843955
117043288
116142954
115692787
115467704
115355162
115298891
115270756
115256688
115249654
115246137
115244379
115243500
115243060
115242840
115242730
115242675
115242664
115242661
115242658
115242657
1152...

output:

? 1 500000001
? 1000000000 500000001
? 884757310 500000001
? 827135965 500000001
? 855946638 500000001
? 870351974 500000001
? 877554642 500000001
? 881155976 500000001
? 882956643 500000001
? 883856977 500000001
? 884307144 500000001
? 884532227 500000001
? 884644769 500000001
? 884701040 500000001...

result:

ok ok (1000 test cases)

Test #21:

score: 0
Accepted
time: 41ms
memory: 3400kb

input:

1000
1000000000
288090905
288090904
348392258
276369532
252079541
258363850
249361009
247578121
247110299
246452766
246547621
246266282
246312097
246241763
246231114
246224180
246222322
246219784
246220124
246219025
246219235
246218960
246218887
246218892
246218858
246218869
246218860
246218856
2462...

output:

? 1 500000001
? 1000000000 500000001
? 855954548 500000001
? 927977274 500000001
? 963988637 500000001
? 945982956 500000001
? 954985797 500000001
? 959487217 500000001
? 957236507 500000001
? 958361862 500000001
? 957799185 500000001
? 958080524 500000001
? 958221193 500000001
? 958150859 500000001...

result:

ok ok (1000 test cases)

Test #22:

score: 0
Accepted
time: 57ms
memory: 3384kb

input:

1000
999999999
499999998
499999999
499999997
250000000
374999998
312499999
281250000
296874999
289062499
285156249
283203124
282226562
281738281
281494140
281372071
281433105
281402588
281387329
281379701
281383515
281381608
281380655
281381132
281381371
281381489
281381431
281381460
281381446
28138...

output:

? 1 500000000
? 999999999 500000000
? 2 500000000
? 250000000 500000000
? 125000001 500000000
? 187500000 500000000
? 218750000 500000000
? 203125000 500000000
? 210937500 500000000
? 214843750 500000000
? 216796875 500000000
? 217773437 500000000
? 218261718 500000000
? 218505859 500000000
? 218627...

result:

ok ok (1000 test cases)

Test #23:

score: 0
Accepted
time: 23ms
memory: 3680kb

input:

1000
999999999
499999957
499999956
249999978
125000032
187500027
218749981
203124983
195312484
191406234
189453109
188476547
187988309
188232407
188110380
188171415
188201890
188186631
188179002
188175230
188177095
188176141
188175707
188175946
188176065
188176125
188176155
188176151
188176144
18817...

output:

? 1 500000000
? 999999999 500000000
? 750000021 500000000
? 625000032 500000000
? 687500027 500000000
? 718750024 500000000
? 703125026 500000000
? 695312527 500000000
? 691406277 500000000
? 689453152 500000000
? 688476590 500000000
? 687988309 500000000
? 688232450 500000000
? 688110380 500000000
...

result:

ok ok (1000 test cases)

Test #24:

score: 0
Accepted
time: 38ms
memory: 3684kb

input:

1000
999999999
324545945
324545946
324545944
162272974
243409458
202841215
182557094
172415033
167344003
164808488
163540730
162906851
162589912
162431442
162352207
162312590
162292781
162282877
162277925
162275449
162274211
162273592
162273282
162273127
162273050
162273011
162272992
162272982
16227...

output:

? 1 500000000
? 999999999 500000000
? 2 500000000
? 162272974 500000000
? 81136488 500000000
? 121704731 500000000
? 141988852 500000000
? 152130913 500000000
? 157201943 500000000
? 159737458 500000000
? 161005216 500000000
? 161639095 500000000
? 161956034 500000000
? 162114504 500000000
? 1621937...

result:

ok ok (1000 test cases)

Test #25:

score: 0
Accepted
time: 23ms
memory: 3520kb

input:

1000
999999999
487015083
487015082
243507541
134738688
195615573
226054016
241273237
248882848
247312282
245409879
244458678
243983077
243745277
243626377
243566927
243537202
243522339
243514908
243511192
243509334
243508405
243507941
243507709
243507593
243507535
243507512
243507520
243507513
24350...

output:

? 1 500000000
? 999999999 500000000
? 756492458 500000000
? 634738688 500000000
? 695615573 500000000
? 726054016 500000000
? 741273237 500000000
? 748882848 500000000
? 752687653 500000000
? 754590056 500000000
? 755541257 500000000
? 756016858 500000000
? 756254658 500000000
? 756373558 500000000
...

result:

ok ok (1000 test cases)

Test #26:

score: 0
Accepted
time: 44ms
memory: 3744kb

input:

1000
999999999
265285129
265285130
265285128
367357434
315586168
282425527
265845206
257555046
261140048
259067508
258031238
257513103
257295978
257383570
257318803
257286420
257279786
257278324
257275738
257276300
257275288
257275232
257275035
257275105
257275042
257275010
257275020
257275012
25727...

output:

? 1 500000000
? 999999999 500000000
? 2 500000000
? 132642566 500000000
? 66321284 500000000
? 33160643 500000000
? 16580322 500000000
? 8290162 500000000
? 4145082 500000000
? 6217622 500000000
? 7253892 500000000
? 7772027 500000000
? 8031094 500000000
? 7901560 500000000
? 7966327 500000000
? 799...

result:

ok ok (1000 test cases)

Test #27:

score: 0
Accepted
time: 42ms
memory: 3716kb

input:

1000
536870912
261621269
261621268
130810634
72219504
98107976
81756647
79684484
77668815
77640567
76646857
77129588
76874098
76746353
76682481
76650545
76634577
76638873
76634881
76632885
76633579
76633080
76632830
76632761
76632767
76632736
76632746
76632738
76632734
76632734
76632733
76632733
766...

output:

? 1 268435457
? 536870912 268435457
? 406060278 268435457
? 340654961 268435457
? 373357620 268435457
? 357006291 268435457
? 348830626 268435457
? 352918459 268435457
? 350874543 268435457
? 351896501 268435457
? 351385522 268435457
? 351641012 268435457
? 351768757 268435457
? 351832629 268435457
...

result:

ok ok (1000 test cases)

Test #28:

score: 0
Accepted
time: 43ms
memory: 3424kb

input:

1000
536870911
244408485
244408484
146231213
183306363
176782274
192026191
184388426
180569543
181396922
180442202
180092182
180203522
180084182
180032512
180054347
180039430
180031971
180028782
180030107
180029175
180028709
180028548
180028593
180028535
180028518
180028521
180028514
180028514
18002...

output:

? 1 268435456
? 536870911 268435456
? 414666669 268435456
? 475768790 268435456
? 445217730 268435456
? 460493260 268435456
? 468131025 268435456
? 471949908 268435456
? 473859349 268435456
? 472904629 268435456
? 472427269 268435456
? 472665949 268435456
? 472546609 268435456
? 472486939 268435456
...

result:

ok ok (1000 test cases)

Extra Test:

score: 0
Extra Test Passed