QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#883304#9734. Identify ChordguosounAC ✓56ms3712kbC++173.8kb2025-02-05 15:44:292025-02-05 15:44:30

Judging History

This is the latest submission verdict.

  • [2025-02-05 15:44:30]
  • Judged
  • Verdict: AC
  • Time: 56ms
  • Memory: 3712kb
  • [2025-02-05 15:44:29]
  • Submitted

answer

#include <bits/stdc++.h>

// #include "../cpp-dump/cpp-dump.hpp"

template <class T>
using V = std::vector<T>;
template <class T>
void chkmin(T &x, const T &y) {
  if (x > y) x = y;
}
using ll = long long;

int n = 11, rx = 9, ry = 1, cnt;

int dis(int u, int v) { return std::min(std::abs(u - v), n - std::abs(u - v)); }
int query(int x, int y) {
  // assert(0 <= x && x < n);
  // assert(0 <= y && y < n);
  // ++cnt;
  // return std::min({dis(x, y), std::min(dis(x, rx), dis(x, ry)) +
  //                                 std::min(dis(y, rx), dis(y, ry)) + 1});
  std::cout << "? " << x + 1 << ' ' << y + 1 << std::endl;
  int r;
  std::cin >> r;
  return r;
}

void answer(int x, int y) {
  // assert(0 <= x && x < n);
  // assert(0 <= y && y < n);
  // cpp_dump(x, y, cnt);
  // assert(((x == rx && y == ry) || (x == ry && y == rx)) && cnt <= 40);
  // cnt = 0;
  // return;
  std::cout << "! " << x + 1 << ' ' << y + 1 << std::endl;
  int r;
  std::cin >> r;
  if (r == -1) exit(0);
}

std::mt19937 rnd(10);

int main() {
  std::cin.tie(0)->sync_with_stdio(0);
  int t;
  std::cin >> t;
  while (t--) {
    int n;
    std::cin >> n;
    // ::n = rnd() % 10 + 4;
    // n = ::n;
    // rx = rnd() % n;
    // ry = rnd() % n;
    // while (dis(rx, ry) <= 1) ry = rnd() % n;

    // cpp_dump(rx, ry);

    ll m = n * 2;
    auto qo = [&](ll u) {
      int r = 1e9, v = (u + m / 2) % m;
      chkmin(r, query(u / 2, v / 2));
      if (u & 1) chkmin(r, query((u / 2 + 1) % n, v / 2));
      if (v & 1) chkmin(r, query(u / 2, (v / 2 + 1) % n));
      if ((u & 1) && (v & 1)) chkmin(r, query((u / 2 + 1) % n, (v / 2 + 1) % n));
      return (ll)r * 2 + (u & 1) + (v & 1);
    };
    auto solve1 = [&](ll u, ll l) {
      ll s = (n - l + 1) / 2;
      if (query(u, (u + s) % n) == s && query(u, (u + s + 1) % n) != s + 1) {
        if (query((u + s + l / 2) % n, ((u + s + l / 2 - l) % n + n) % n) == 1)
          return answer((u + s + l / 2) % n, ((u + s + l / 2 - l) % n + n) % n);
        u = (u + s) % n;
      }
      if (query((u + ((n - l) / 2) + n) % n, (u + ((n - l) / 2) - (n - l) + n) % n) == 1)
        return answer((u + ((n - l) / 2) + n) % n, (u + ((n - l) / 2) - (n - l) + n) % n);
        
      // std::cerr << cnt << '\n';

      // cpp_dump(u);
      // for (int i = 0; i < n; i++)
      //   std::cerr << query(u, (u + i) % n) << " \n"[i == n - 1];
      ll d = 0;
      for (int i = 29; i >= 0; i--)
        if (query(u, (u + d + (1 << i)) % n) == d + (1 << i)) d += (1 << i);
      // std::cerr << u + d << ' ' << l << ' ' << ((u + d + l / 2 - l) % n + n) % n << '\n';
      answer((u + d + l / 2) % n, ((u + d + l / 2 - l) % n + n) % n);
    };
    auto solve2 = [&](int u) {
      ll l = std::min(qo((u + m / 4) % m), qo((u + m / 4 + 1) % m));
      l = m / 2 - l + 2;
      if (query((u - l / 2 + m) % m / 2, (u + l / 2) % m / 2) != 1)
        u = (u + m / 2) % m;
      answer((u - l / 2 + m) % m / 2, (u + l / 2) % m / 2);
    };
    ll d0 = qo(0), d1 = qo(1);
    if (d0 == d1) {
      if ((n & 1) && d0 == 3) {
        if (query(0, n / 2) == 1) {
          answer(0, n / 2);
          continue;
        }
        if (query(0, n / 2 + 1) == 1) {
          answer(0, n / 2 + 1);
          continue;
        }
      }
      if (d0 == m / 2) {
        ll p = 0;
        if (qo((p + 1) % m) != m / 2) p = (p - 1 + m) % m;
        if (qo((p - 1 + m) % m) != m / 2) p = (p + 1) % m;
        solve2(p);
      } else
        solve1(0, (m / 2 - d0 + 2) / 2);
    } else {
      ll c = (m / 2 - d0) / 2;
      ll p = (d0 < d1 ? c : (-c + m) + m) % m;
      assert(qo(p) == m / 2);
      if (qo((p + 1) % m) != m / 2) p = (p - 1 + m) % m;
      if (qo((p - 1 + m) % m) != m / 2) p = (p + 1) % m;
      solve2(p);
    }
  }
}

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

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3712kb

input:

2
6
2
2
1
2
2
2
2
1
1
4
1
1
1
1
2
1
1
1
2
2
1
1
1
1
2
1
1
1

output:

? 1 4
? 1 4
? 2 4
? 1 5
? 2 5
? 1 3
? 1 4
? 4 2
! 4 2
? 1 3
? 1 3
? 2 3
? 1 4
? 2 4
? 1 3
? 2 3
? 1 4
? 2 4
? 2 4
? 1 3
? 3 1
? 4 1
? 3 2
? 4 2
? 3 1
? 1 3
! 1 3

result:

ok ok (2 test cases)

Test #2:

score: 0
Accepted
time: 33ms
memory: 3712kb

input:

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

output:

? 1 8
? 1 9
? 1 9
? 2 9
? 1 7
? 1 8
? 8 5
! 8 5
? 1 10
? 1 11
? 1 11
? 2 11
? 17 8
? 18 8
? 18 8
? 18 9
? 16 7
? 17 7
? 3 12
? 3 13
? 2 12
? 3 12
? 12 2
! 3 12
? 1 9
? 1 10
? 1 10
? 2 10
? 16 7
? 16 8
? 16 8
? 17 8
? 15 6
? 15 7
? 3 11
? 3 12
? 2 11
? 3 11
? 11 2
! 3 11
? 1 8
? 1 9
? 1 9
? 2 9
? 1 9...

result:

ok ok (1000 test cases)

Test #3:

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

input:

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

output:

? 1 11
? 1 12
? 1 12
? 2 12
? 4 15
? 5 15
? 5 15
? 5 16
? 4 14
? 4 15
? 10 21
? 11 21
? 10 20
? 10 21
? 21 10
! 21 10
? 1 12
? 1 12
? 2 12
? 1 13
? 2 13
? 21 10
? 22 10
? 21 11
? 22 11
? 22 11
? 20 9
? 21 9
? 20 10
? 21 10
? 5 16
? 4 15
? 5 15
? 4 16
? 5 16
? 17 3
! 17 3
? 1 11
? 1 11
? 2 11
? 1 12
...

result:

ok ok (1000 test cases)

Test #4:

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

input:

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

output:

? 1 13
? 1 14
? 1 14
? 2 14
? 3 15
? 3 16
? 3 16
? 4 16
? 2 15
? 3 15
? 10 22
? 10 23
? 9 22
? 10 22
? 1 6
! 1 6
? 1 13
? 1 14
? 1 14
? 2 14
? 4 16
? 4 17
? 4 17
? 5 17
? 3 16
? 4 16
? 11 23
? 11 24
? 10 23
? 11 23
? 25 9
! 25 9
? 1 13
? 1 14
? 1 14
? 2 14
? 1 14
? 2 14
? 2 14
? 2 15
? 1 13
? 1 14
?...

result:

ok ok (1000 test cases)

Test #5:

score: 0
Accepted
time: 33ms
memory: 3584kb

input:

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

output:

? 1 15
? 1 16
? 1 16
? 2 16
? 27 13
? 28 13
? 28 13
? 28 14
? 26 12
? 27 12
? 5 20
? 6 20
? 5 19
? 5 20
? 22 3
! 22 3
? 1 15
? 1 15
? 2 15
? 1 16
? 2 16
? 1 15
? 2 15
? 1 16
? 2 16
? 2 16
? 1 15
? 9 23
? 10 23
? 9 24
? 10 24
? 9 23
? 24 8
! 24 8
? 1 16
? 1 16
? 2 16
? 1 17
? 2 17
? 25 10
? 25 10
? 2...

result:

ok ok (1000 test cases)

Test #6:

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

input:

1000
32
13
13
12
14
13
11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
5
4
6
6
1
30
14
14
14
13
14
14
14
2
2
2
14
8
4
2
14
8
4
2
14
8
4
2
14
8
4
2
14
8
4
2
14
8
4
2
14
8
12
13
12
1
32
16
16
15
15
16
16
15
15
16
14
15
15
16
2
2
3
1
2
1
1
31
5
6
6
5
8
11
6
8
4
2
1
6
8
4
2
1
6
8
4
2
1
6
8
4
2...

output:

? 1 17
? 1 17
? 2 17
? 1 18
? 2 18
? 1 15
? 15 19
? 1 1
? 1 1
? 1 1
? 1 1
? 1 1
? 1 1
? 1 1
? 1 1
? 1 1
? 1 1
? 1 1
? 1 1
? 1 1
? 1 1
? 1 1
? 1 1
? 1 1
? 1 1
? 1 1
? 1 1
? 1 1
? 1 1
? 1 1
? 1 1
? 1 1
? 1 17
? 1 9
? 1 5
? 1 7
? 1 8
! 9 5
? 1 16
? 1 16
? 2 16
? 1 17
? 2 17
? 1 15
? 1 16
? 16 14
? 29 1...

result:

ok ok (1000 test cases)

Test #7:

score: 0
Accepted
time: 35ms
memory: 3584kb

input:

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

output:

? 1 18
? 1 18
? 2 18
? 1 19
? 2 19
? 1 18
? 2 18
? 1 19
? 2 19
? 34 17
? 1 17
? 34 18
? 1 18
? 10 27
? 9 26
? 10 26
? 9 27
? 10 27
? 31 5
! 31 5
? 1 17
? 1 18
? 1 18
? 2 18
? 1 13
? 13 22
? 1 18
? 1 26
? 1 30
? 1 32
? 1 33
? 1 17
? 1 9
? 1 5
? 1 3
? 1 2
? 1 18
? 1 26
? 1 30
? 1 32
? 1 33
? 1 17
? 1 ...

result:

ok ok (1000 test cases)

Test #8:

score: 0
Accepted
time: 28ms
memory: 3584kb

input:

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

output:

? 1 19
? 1 19
? 2 19
? 1 20
? 2 20
? 1 19
? 2 19
? 1 20
? 2 20
? 36 18
? 1 18
? 36 19
? 1 19
? 10 28
? 11 28
? 10 29
? 11 29
? 10 28
? 36 2
! 18 20
? 1 19
? 1 19
? 2 19
? 1 20
? 2 20
? 8 26
? 9 26
? 8 27
? 9 27
? 9 27
? 8 26
? 18 36
? 19 36
? 18 1
? 19 1
? 18 36
? 1 17
! 19 35
? 1 19
? 1 19
? 2 19
?...

result:

ok ok (1000 test cases)

Test #9:

score: 0
Accepted
time: 36ms
memory: 3584kb

input:

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

output:

? 1 19
? 1 20
? 1 20
? 2 20
? 1 20
? 2 20
? 2 20
? 2 21
? 1 19
? 1 20
? 11 30
? 12 30
? 11 29
? 11 30
? 32 8
! 14 27
? 1 19
? 1 19
? 2 19
? 1 20
? 2 20
? 1 18
? 1 19
? 19 17
? 35 1
? 18 14
? 18 34
? 18 26
? 18 22
? 18 2
? 18 10
? 18 14
? 18 34
? 18 26
? 18 22
? 18 2
? 18 10
? 18 14
? 18 34
? 18 26
?...

result:

ok ok (1000 test cases)

Test #10:

score: 0
Accepted
time: 39ms
memory: 3712kb

input:

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

output:

? 1 20
? 1 21
? 1 21
? 2 21
? 39 19
? 39 20
? 39 20
? 1 20
? 38 18
? 38 19
? 9 29
? 10 29
? 9 28
? 9 29
? 32 5
! 13 25
? 1 20
? 1 20
? 2 20
? 1 21
? 2 21
? 1 14
? 1 15
? 20 8
? 27 1
? 14 10
? 14 12
? 14 32
? 14 4
? 14 28
? 14 2
? 14 8
? 14 30
? 14 22
? 14 18
? 14 16
? 14 34
? 14 24
? 14 38
? 14 26
?...

result:

ok ok (1000 test cases)

Test #11:

score: 0
Accepted
time: 29ms
memory: 3584kb

input:

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

output:

? 1 21
? 1 21
? 2 21
? 1 22
? 2 22
? 37 17
? 37 17
? 38 17
? 37 18
? 38 18
? 36 16
? 7 27
? 6 26
? 7 26
? 6 27
? 7 27
? 27 6
! 7 26
? 1 21
? 1 21
? 2 21
? 1 22
? 2 22
? 40 20
? 40 20
? 1 20
? 40 21
? 1 21
? 39 19
? 10 30
? 9 29
? 10 29
? 9 30
? 10 30
? 32 7
! 12 27
? 1 21
? 1 21
? 2 21
? 1 22
? 2 22...

result:

ok ok (1000 test cases)

Test #12:

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

input:

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

output:

? 1 22
? 1 22
? 2 22
? 1 23
? 2 23
? 1 17
? 16 27
? 1 33
? 1 17
? 1 9
? 1 5
? 1 3
? 1 23
? 1 33
? 1 17
? 1 9
? 1 5
? 1 3
? 1 23
? 1 33
? 1 17
? 1 9
? 1 5
? 1 3
? 1 23
? 1 33
? 1 17
? 1 9
? 1 5
? 1 3
? 1 23
? 1 33
? 1 17
? 1 9
? 1 13
? 1 11
? 1 12
! 17 6
? 1 21
? 1 22
? 1 22
? 2 22
? 1 19
? 1 20
? 21...

result:

ok ok (1000 test cases)

Test #13:

score: 0
Accepted
time: 34ms
memory: 3584kb

input:

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

output:

? 1 22
? 1 23
? 1 23
? 2 23
? 1 14
? 13 31
? 1 3
? 1 2
? 1 23
? 1 12
? 1 28
? 1 36
? 1 40
? 1 42
? 1 43
? 1 22
? 1 33
? 1 17
? 1 9
? 1 5
? 1 3
? 1 2
? 1 23
? 1 12
? 1 28
? 1 36
? 1 40
? 1 42
? 1 43
? 1 22
? 1 33
? 1 17
? 1 9
? 1 13
? 1 11
? 1 12
! 21 3
? 1 22
? 1 22
? 2 22
? 1 23
? 2 23
? 1 20
? 20 ...

result:

ok ok (1000 test cases)

Test #14:

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

input:

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

output:

? 1 23
? 1 23
? 2 23
? 1 24
? 2 24
? 1 23
? 2 23
? 1 24
? 2 24
? 44 22
? 1 22
? 44 23
? 1 23
? 13 35
? 12 34
? 13 34
? 12 35
? 13 35
? 41 6
! 41 6
? 1 23
? 1 23
? 2 23
? 1 24
? 2 24
? 39 17
? 40 17
? 39 18
? 40 18
? 40 18
? 38 16
? 39 16
? 38 17
? 39 17
? 6 28
? 7 28
? 6 29
? 7 29
? 6 28
? 29 5
! 29...

result:

ok ok (1000 test cases)

Test #15:

score: 0
Accepted
time: 37ms
memory: 3712kb

input:

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

output:

? 1 23
? 1 24
? 1 24
? 2 24
? 2 24
? 2 25
? 2 25
? 3 25
? 1 24
? 2 24
? 14 36
? 14 37
? 13 36
? 14 36
? 45 5
! 45 5
? 1 23
? 1 24
? 1 24
? 2 24
? 4 26
? 4 27
? 4 27
? 5 27
? 3 26
? 4 26
? 16 38
? 16 39
? 15 38
? 16 38
? 42 12
! 42 12
? 1 23
? 1 24
? 1 24
? 2 24
? 1 17
? 17 30
? 1 33
? 1 17
? 1 9
? 1...

result:

ok ok (1000 test cases)

Test #16:

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

input:

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

output:

? 1 24
? 1 24
? 2 24
? 1 25
? 2 25
? 44 21
? 45 21
? 44 22
? 45 22
? 45 22
? 43 20
? 44 20
? 43 21
? 44 21
? 10 33
? 9 32
? 10 32
? 9 33
? 10 33
? 34 8
! 11 31
? 1 24
? 1 24
? 2 24
? 1 25
? 2 25
? 40 17
? 40 17
? 41 17
? 40 18
? 41 18
? 39 16
? 5 28
? 6 28
? 5 29
? 6 29
? 5 28
? 29 4
! 29 4
? 1 24
?...

result:

ok ok (1000 test cases)

Test #17:

score: 0
Accepted
time: 45ms
memory: 3712kb

input:

1000
1000000000
499999999
499999999
499999999
499999998
499999999
499999999
499999999
2
2
463129088
268435456
402653183
335544320
369098752
385875967
377487359
373293055
371195904
372244479
371720192
371982336
372113407
372047871
372015104
372031488
372039680
372043776
372045824
372046848
372047360
...

output:

? 1 500000001
? 1 500000001
? 2 500000001
? 1 500000002
? 2 500000002
? 1 500000000
? 1 500000001
? 500000001 499999999
? 999999999 1
? 500000000 36870912
? 500000000 768435456
? 500000000 902653184
? 500000000 835544320
? 500000000 869098752
? 500000000 885875968
? 500000000 877487360
? 500000000 8...

result:

ok ok (1000 test cases)

Test #18:

score: 0
Accepted
time: 47ms
memory: 3584kb

input:

1000
1000000000
499999969
499999969
499999968
499999970
499999969
499999953
32
463129088
268435456
402653184
469762017
436207585
419430369
411041761
406847457
404750305
403701729
403177472
403439585
403308513
403243008
403275745
403259361
403251169
403247104
403249152
403250176
403250688
403250913
4...

output:

? 1 500000001
? 1 500000001
? 2 500000001
? 1 500000002
? 2 500000002
? 1 499999985
? 499999985 500000017
? 1 536870913
? 1 268435457
? 1 402653185
? 1 469762049
? 1 436207617
? 1 419430401
? 1 411041793
? 1 406847489
? 1 404750337
? 1 403701761
? 1 403177473
? 1 403439617
? 1 403308545
? 1 40324300...

result:

ok ok (1000 test cases)

Test #19:

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

input:

1000
1000000000
474148191
474148191
474148190
474148190
474148189
500000000
499999999
499999999
499999999
499999999
499999999
499999999
499999999
500000000
1
2
2
3
1
1
1
1000000000
479245617
479245617
479245618
479245618
479245619
499999999
499999999
499999999
500000000
500000000
499999999
1
2
2
3
1...

output:

? 1 500000001
? 1 500000001
? 2 500000001
? 1 500000002
? 2 500000002
? 987074096 487074096
? 987074097 487074096
? 987074096 487074097
? 987074097 487074097
? 987074097 487074097
? 987074095 487074095
? 987074096 487074095
? 987074095 487074096
? 987074096 487074096
? 237074096 737074096
? 23707409...

result:

ok ok (1000 test cases)

Test #20:

score: 0
Accepted
time: 26ms
memory: 3584kb

input:

1000
1000000000
230485382
230485382
230485383
230485383
230485384
500000000
500000000
499999999
499999999
500000000
499999998
499999999
499999999
500000000
72
72
71
73
72
143
1
1000000000
237329401
237329401
237329400
237329400
237329399
500000000
499999999
499999999
499999999
499999999
499999999
49...

output:

? 1 500000001
? 1 500000001
? 2 500000001
? 1 500000002
? 2 500000002
? 134757310 634757310
? 134757310 634757310
? 134757311 634757310
? 134757310 634757311
? 134757311 634757311
? 134757309 634757309
? 134757310 634757309
? 134757309 634757310
? 134757310 634757310
? 384757311 884757311
? 38475731...

result:

ok ok (1000 test cases)

Test #21:

score: 0
Accepted
time: 36ms
memory: 3712kb

input:

1000
1000000000
288090905
288090905
288090906
288090904
288090905
394045452
394045452
211909096
83744101
379384989
268435456
402653184
446493853
436207616
452984832
454882461
457179136
456979613
458028189
457703424
457965568
458096640
458093725
458126493
458113024
458121216
458125312
458127360
45812...

output:

? 1 500000001
? 1 500000001
? 2 500000001
? 1 500000002
? 2 500000002
? 1 394045453
? 1 394045454
? 500000001 288090905
? 788090905 1
? 394045453 930916365
? 394045453 662480909
? 394045453 796698637
? 394045453 863807501
? 394045453 830253069
? 394045453 847030285
? 394045453 855418893
? 394045453 ...

result:

ok ok (1000 test cases)

Test #22:

score: 0
Accepted
time: 39ms
memory: 3584kb

input:

1000
999999999
499999998
499999999
499999999
499999998
499999998
2
463129087
268435455
134217728
201326592
234881023
218103808
226492415
222298111
220200959
219152383
218628095
218365952
218497024
218562560
218595328
218611712
218619903
218615808
218617856
218618879
218618368
218618623
218618496
218...

output:

? 1 500000000
? 1 500000001
? 1 500000001
? 2 500000001
? 1 500000000
? 499999999 500000001
? 1 536870913
? 1 268435457
? 1 134217729
? 1 201326593
? 1 234881025
? 1 218103809
? 1 226492417
? 1 222298113
? 1 220200961
? 1 219152385
? 1 218628097
? 1 218365953
? 1 218497025
? 1 218562561
? 1 21859532...

result:

ok ok (1000 test cases)

Test #23:

score: 0
Accepted
time: 56ms
memory: 3584kb

input:

1000
999999999
499999957
499999956
499999956
499999957
499999978
499999977
44
44
463129087
268435413
134217728
201326549
167772160
184549376
192937941
188743637
186646528
187695104
188219349
187957248
188088320
188153856
188186581
188170240
188178389
188174336
188176341
188175360
188175872
188176128...

output:

? 1 500000000
? 1 500000001
? 1 500000001
? 2 500000001
? 1 499999979
? 1 499999980
? 500000001 499999957
? 999999956 1
? 499999979 36870892
? 499999979 768435435
? 499999979 634217707
? 499999979 701326571
? 499999979 667772139
? 499999979 684549355
? 499999979 692937963
? 499999979 688743659
? 499...

result:

ok ok (1000 test cases)

Test #24:

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

input:

1000
999999999
324545945
324545944
324545944
324545943
499999999
499999999
499999999
499999998
499999999
499999999
1
2
2
1
2
1
999999999
446446636
446446635
446446635
446446634
499999999
499999999
499999999
499999998
499999999
499999999
1
2
2
1
1
1
999999999
213858247
213858248
213858248
213858249
4...

output:

? 1 500000000
? 1 500000001
? 1 500000001
? 2 500000001
? 912272972 412272973
? 912272973 412272973
? 912272973 412272973
? 912272973 412272974
? 912272971 412272972
? 912272972 412272972
? 162272973 662272972
? 162272973 662272973
? 162272972 662272972
? 162272973 662272972
? 662272972 162272972
! ...

result:

ok ok (1000 test cases)

Test #25:

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

input:

1000
999999999
487015083
487015084
487015084
487015085
499999999
499999999
499999999
499999999
499999998
499999999
67
66
66
67
132
1
999999999
307120211
307120210
307120210
307120209
499999999
499999999
499999999
499999998
499999999
499999999
47
48
48
47
94
1
999999999
7900378
7900377
7900377
790037...

output:

? 1 500000000
? 1 500000001
? 1 500000001
? 2 500000001
? 6492459 506492458
? 6492459 506492459
? 6492459 506492459
? 6492460 506492459
? 6492458 506492458
? 6492459 506492458
? 256492459 756492459
? 256492460 756492459
? 256492459 756492458
? 256492459 756492459
? 756492491 256492426
! 256492492 75...

result:

ok ok (1000 test cases)

Test #26:

score: 0
Accepted
time: 35ms
memory: 3584kb

input:

1000
999999999
265285129
265285128
265285128
265285127
499999999
499999999
499999999
499999998
499999999
499999999
249264885
249264884
249264884
249264885
1
1
999999999
450448164
450448165
450448165
450448164
425672247
49551836
463129087
218883621
134217728
201326592
211131099
218103808
219519707
22...

output:

? 1 500000000
? 1 500000001
? 1 500000001
? 2 500000001
? 882642564 382642565
? 882642565 382642565
? 882642565 382642565
? 882642565 382642566
? 882642563 382642564
? 882642564 382642564
? 132642565 632642564
? 132642565 632642565
? 132642564 632642564
? 132642565 632642564
? 757275006 8010123
! 75...

result:

ok ok (1000 test cases)

Test #27:

score: 0
Accepted
time: 49ms
memory: 3584kb

input:

1000
536870912
261621269
261621269
261621270
261621270
261621271
268435455
268435455
268435455
268435456
268435456
268435455
108355805
108355804
108355806
108355805
108355805
160079652
1
536870912
131000767
131000767
131000768
131000766
131000767
199718111
199718111
137434690
59845897
0
208589561
13...

output:

? 1 268435457
? 1 268435457
? 2 268435457
? 1 268435458
? 2 268435458
? 3407094 271842550
? 3407095 271842550
? 3407094 271842551
? 3407095 271842551
? 3407095 271842551
? 3407094 271842550
? 137624823 406060279
? 137624824 406060279
? 137624823 406060280
? 137624824 406060280
? 137624823 406060279
...

result:

ok ok (1000 test cases)

Test #28:

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

input:

1000
536870911
244408485
244408484
244408484
244408485
256421970
256421969
24026972
24026972
1
244408485
134217728
201326592
210854053
194076837
198395765
202590069
203423744
203638645
203948032
203900789
204031861
204013568
204046336
204048245
204054528
204052341
204054389
204055413
204055040
20405...

output:

? 1 268435456
? 1 268435457
? 1 268435457
? 2 268435457
? 1 256421971
? 1 256421972
? 268435457 244408485
? 512843940 1
? 256421971 256421972
? 256421971 524857427
? 256421971 390639699
? 256421971 457748563
? 256421971 491302995
? 256421971 474525779
? 256421971 466137171
? 256421971 461942867
? 25...

result:

ok ok (1000 test cases)

Extra Test:

score: 0
Extra Test Passed