QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#753315 | #9570. Binary Tree | kalikari | AC ✓ | 246ms | 11564kb | C++17 | 4.1kb | 2024-11-16 12:20:12 | 2024-11-16 12:20:12 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
// 读取输入函数,用于快速读取整数
int Read() {
int x = 0;
char ch = getchar();
bool f = 0;
while (ch < '0' || ch > '9') {
if (ch == '-') f = 1, ch = getchar();
else if (ch == EOF) return 0;
else ch = getchar();
}
while (ch >= '0' && ch <= '9') x = (x << 1) + (x << 3) + (ch ^ 48), ch = getchar();
return f ? -x : x;
}
// 全局变量定义
int fa[100005], l[100005], r[100005]; // fa:父节点,l:左子节点,r:右子节点
int root; // 树的根节点
int siz[100005]; // 子树大小
int n; // 当前节点个数
bool flag; // 标记是否找到重心
// 深度优先搜索,计算子树大小并找到重心
void dfs(int x) {
siz[x] = 1; // 初始化子树大小为1
// 递归处理左子树
if (l[x]) {
dfs(l[x]);
siz[x] += siz[l[x]];
}
// 递归处理右子树
if (r[x]) {
dfs(r[x]);
siz[x] += siz[r[x]];
}
// 如果已经找到重心,直接返回
if (flag) return;
// 检查是否满足重心条件
// 重心条件:去掉当前节点后,剩余连通块大小 <= n / 2
if (siz[l[x]] <= n / 2 && siz[r[x]] <= n / 2 && n - siz[x] + 1 <= n / 2 && l[x] && r[x]) {
flag = 1; // 找到重心
// 查询左右子节点,询问哪个更接近特殊节点
printf("? %d %d\n", l[x], r[x]);
fflush(stdout);
int op = Read();
// 根据交互器返回的结果进行处理
if (op == 1) l[x] = 0, r[x] = 0, n = n - siz[x] + 1; // 相等情况,删除左右子节点
if (op == 2) root = r[x], n = siz[r[x]], fa[r[x]] = 0; // 右子节点更近,更新根节点为右子节点
if (op == 0) root = l[x], n = siz[l[x]], fa[l[x]] = 0; // 左子节点更近,更新根节点为左子节点
return;
}
// 检查父节点和左子节点的情况
if (siz[l[x]] <= n / 2 && siz[r[x]] + 1 <= n / 2 && n - siz[x] <= n / 2 && fa[x] && l[x]) {
flag = 1;
printf("? %d %d\n", l[x], fa[x]);
fflush(stdout);
int op = Read();
if (op == 1) l[x] = 0, fa[x] = 0, root = x, n = siz[r[x]] + 1; // 相等情况,删除左子节点和父节点
if (op == 2) {
n = n - siz[x];
if (l[fa[x]] == x) l[fa[x]] = 0;
if (r[fa[x]] == x) r[fa[x]] = 0;
}
if (op == 0) root = l[x], n = siz[l[x]], fa[l[x]] = 0;
return;
}
// 检查父节点和右子节点的情况
if (siz[l[x]] + 1 <= n / 2 && siz[r[x]] <= n / 2 && n - siz[x] <= n / 2 && fa[x] && r[x]) {
flag = 1;
printf("? %d %d\n", r[x], fa[x]);
fflush(stdout);
int op = Read();
if (op == 1) r[x] = 0, fa[x] = 0, root = x, n = siz[l[x]] + 1;
if (op == 2) {
n = n - siz[x];
if (l[fa[x]] == x) l[fa[x]] = 0;
if (r[fa[x]] == x) r[fa[x]] = 0;
}
if (op == 0) root = r[x], n = siz[r[x]], fa[r[x]] = 0;
return;
}
return;
}
signed main() {
int T = Read(); // 读取测试用例数量
while (T--) {
n = Read(); // 读取节点数量
// 初始化
for (int i = 1; i <= n; i++) fa[i] = 0;
for (int i = 1; i <= n; i++) {
l[i] = Read(), r[i] = Read();
if (l[i]) fa[l[i]] = i;
if (r[i]) fa[r[i]] = i;
}
// 找到根节点
for (int i = 1; i <= n; i++) if (!fa[i]) root = i;
// 使用 DFS 找重心
while (n > 2) {
flag = 0;
dfs(root);
}
// 当 n == 1 时,直接输出根节点
if (n == 1) {
printf("! %d\n", root);
fflush(stdout);
} else {
// 当 n == 2 时,询问根节点和其子节点
printf("? %d %d\n", root, l[root] ? l[root] : r[root]);
fflush(stdout);
int op = Read();
printf("! %d\n", op == 0 ? root : (l[root] ? l[root] : r[root]));
fflush(stdout);
}
}
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 1ms
memory: 3964kb
input:
2 5 0 0 1 5 2 4 0 0 0 0 2 0 2 0 2 0 0 2
output:
? 1 3 ? 3 4 ! 3 ? 1 2 ! 2
result:
ok OK (2 test cases)
Test #2:
score: 0
Accepted
time: 47ms
memory: 4004kb
input:
5555 8 2 0 8 6 0 0 3 0 0 0 7 0 0 0 5 4 2 2 0 8 0 0 1 4 2 0 0 0 7 8 0 0 3 0 6 0 2 2 0 8 5 8 0 0 1 7 0 0 0 0 4 2 0 0 6 0 2 2 0 5 4 5 3 1 0 0 0 0 0 0 1 0 8 0 0 0 0 5 6 0 0 1 4 2 0 3 8 0 0 0 1 5 3 0 5 1 0 0 0 0 4 0 0 2 5 5 0 0 0 0 0 3 0 2 4 2 0 3 3 0 1 0 0 0 2 2 2 0 0 0 2 3 2 3 0 0 0 0 1 10 2 8 9 7 0 0 ...
output:
? 5 2 ? 7 2 ? 1 2 ! 1 ? 2 7 ? 6 5 ? 5 7 ! 5 ? 6 1 ? 5 3 ? 3 7 ! 3 ? 4 2 ? 1 5 ! 1 ? 5 6 ? 1 4 ! 5 ? 5 1 ? 5 4 ! 4 ? 2 4 ? 4 3 ! 4 ? 3 2 ! 2 ? 1 2 ! 2 ? 2 3 ! 1 ? 6 2 ? 9 1 ? 9 10 ! 9 ? 1 2 ! 2 ? 9 5 ? 6 9 ? 9 1 ! 1 ? 8 5 ? 7 1 ? 5 3 ! 3 ? 3 9 ? 1 7 ? 9 2 ! 2 ? 2 1 ! 1 ? 3 4 ? 1 7 ! 1 ? 9 4 ? 3 2 ? 4...
result:
ok OK (5555 test cases)
Test #3:
score: 0
Accepted
time: 12ms
memory: 3872kb
input:
600 2 2 0 0 0 2 3 2 0 3 0 0 0 2 4 4 0 1 0 0 0 3 0 2 2 5 4 0 0 0 1 0 2 0 3 0 0 0 6 4 0 6 0 2 0 5 0 0 0 1 0 2 0 7 7 0 3 0 6 0 5 0 2 0 1 0 0 0 2 0 8 7 0 0 0 2 0 8 0 1 0 5 0 3 0 6 0 2 2 2 9 7 0 4 0 2 0 1 0 0 0 8 0 9 0 5 0 6 0 0 2 2 10 9 0 6 0 8 0 7 0 0 0 10 0 2 0 4 0 5 0 1 0 2 2 2 11 2 0 10 0 6 0 9 0 0 ...
output:
? 1 2 ! 2 ? 3 1 ! 1 ? 3 1 ? 2 1 ! 1 ? 4 3 ? 4 2 ! 4 ? 4 6 ? 6 3 ! 6 ? 6 2 ? 2 4 ! 2 ? 7 5 ? 5 8 ? 4 8 ! 8 ? 9 1 ? 5 6 ? 9 6 ! 6 ? 10 2 ? 7 8 ? 3 8 ! 8 ? 2 9 ? 6 10 ? 6 5 ! 6 ? 1 6 ? 2 4 ? 4 11 ! 8 ? 3 2 ? 10 8 ? 8 3 ! 3 ? 9 12 ? 11 8 ? 8 3 ! 3 ? 2 14 ? 15 8 ? 14 15 ! 14 ? 8 13 ? 10 14 ? 14 12 ? 4 12...
result:
ok OK (600 test cases)
Test #4:
score: 0
Accepted
time: 12ms
memory: 11564kb
input:
2 99999 21832 0 77205 0 62668 0 58313 0 14640 0 76941 0 62678 0 8464 0 43145 0 26195 0 46140 0 83205 0 40047 0 81645 0 27077 0 92036 0 14236 0 3576 0 15430 0 75654 0 29049 0 62218 0 83318 0 1116 0 77861 0 9755 0 49236 0 70959 0 62295 0 33580 0 88208 0 55840 0 71061 0 24695 0 88831 0 1891 0 57285 0 9...
output:
? 43991 70790 ? 46637 98261 ? 69452 58487 ? 39509 59517 ? 57474 54741 ? 33347 29649 ? 13451 83777 ? 72406 50397 ? 97744 28266 ? 54666 53477 ? 16072 80535 ? 70514 83016 ? 30581 97339 ? 25998 12999 ? 95696 50294 ? 50294 16072 ! 16072 ? 46352 44110 ? 45037 58000 ? 4670 60270 ? 10046 5143 ? 73278 23215 ...
result:
ok OK (2 test cases)
Test #5:
score: 0
Accepted
time: 10ms
memory: 8948kb
input:
15 3 0 0 1 0 2 0 1 7 6 0 3 0 5 0 0 0 7 0 4 0 1 0 2 2 15 6 0 5 0 1 0 7 0 14 0 11 0 15 0 12 0 2 0 4 0 9 0 13 0 0 0 8 0 3 0 0 0 0 31 3 0 31 0 17 0 23 0 4 0 13 0 1 0 12 0 6 0 0 0 20 0 26 0 14 0 29 0 8 0 25 0 21 0 19 0 5 0 15 0 18 0 10 0 22 0 7 0 28 0 2 0 24 0 30 0 27 0 9 0 16 0 2 0 0 2 63 15 0 62 0 5 0 ...
output:
? 1 3 ! 2 ? 1 5 ? 5 2 ! 2 ? 9 6 ? 8 5 ? 13 8 ! 13 ? 29 13 ? 16 2 ? 9 28 ? 13 9 ! 9 ? 8 37 ? 10 24 ? 12 57 ? 46 4 ? 4 8 ! 36 ? 36 89 ? 96 110 ? 79 20 ? 112 121 ? 8 4 ? 20 8 ! 8 ? 64 233 ? 148 51 ? 1 176 ? 78 126 ? 46 136 ? 214 77 ? 126 214 ! 126 ? 439 48 ? 457 144 ? 228 4 ? 328 386 ? 360 120 ? 96 23 ...
result:
ok OK (15 test cases)
Test #6:
score: 0
Accepted
time: 10ms
memory: 8976kb
input:
16 2 2 0 0 0 2 4 4 0 3 0 1 0 0 0 2 2 8 5 0 0 0 4 0 8 0 2 0 3 0 6 0 1 0 2 2 2 16 2 0 5 0 1 0 11 0 13 0 14 0 8 0 6 0 0 0 4 0 3 0 7 0 15 0 10 0 16 0 9 0 2 2 2 0 32 15 0 0 0 14 0 18 0 26 0 17 0 25 0 27 0 6 0 9 0 4 0 13 0 23 0 30 0 32 0 12 0 11 0 31 0 28 0 3 0 19 0 10 0 22 0 7 0 5 0 29 0 24 0 20 0 21 0 1...
output:
? 1 2 ! 2 ? 4 3 ? 2 3 ! 3 ? 1 4 ? 4 6 ? 7 6 ! 6 ? 1 11 ? 10 6 ? 6 7 ? 12 7 ! 12 ? 13 16 ? 19 29 ? 5 7 ? 7 27 ? 8 27 ! 8 ? 24 8 ? 20 6 ? 10 13 ? 32 25 ? 25 7 ? 29 7 ! 29 ? 124 57 ? 64 72 ? 4 38 ? 84 79 ? 44 20 ? 20 36 ? 87 36 ! 36 ? 3 106 ? 72 82 ? 224 78 ? 105 13 ? 156 44 ? 54 184 ? 184 212 ? 121 21...
result:
ok OK (16 test cases)
Test #7:
score: 0
Accepted
time: 11ms
memory: 9012kb
input:
15 2 2 0 0 0 2 6 5 0 1 0 6 0 2 0 3 0 0 0 2 2 14 12 0 0 0 11 0 5 0 7 0 1 0 8 0 10 0 14 0 13 0 6 0 9 0 2 0 4 0 2 0 1 30 10 0 29 0 23 0 28 0 9 0 14 0 2 0 30 0 19 0 0 0 15 0 1 0 22 0 8 0 18 0 27 0 7 0 24 0 26 0 3 0 20 0 25 0 6 0 17 0 4 0 12 0 21 0 16 0 13 0 5 0 2 0 0 2 62 24 0 22 0 18 0 17 0 49 0 53 0 3...
output:
? 1 2 ! 2 ? 3 1 ? 1 4 ! 4 ? 5 14 ? 12 6 ? 14 12 ! 9 ? 20 27 ? 13 2 ? 28 25 ? 27 28 ! 28 ? 30 33 ? 32 4 ? 45 61 ? 57 58 ? 58 45 ! 28 ? 9 94 ? 59 69 ? 52 17 ? 23 15 ? 79 8 ? 8 102 ! 8 ? 204 159 ? 235 47 ? 248 169 ? 132 200 ? 116 19 ? 68 3 ? 3 116 ! 116 ? 449 68 ? 190 319 ? 141 239 ? 73 50 ? 419 106 ? ...
result:
ok OK (15 test cases)
Test #8:
score: 0
Accepted
time: 4ms
memory: 3816kb
input:
600 2 2 0 0 0 2 3 3 2 0 0 0 0 2 4 3 0 0 0 0 0 1 2 2 2 5 0 0 3 1 4 5 0 0 0 0 1 0 6 3 5 1 4 0 0 6 0 0 0 0 0 2 0 7 3 7 0 0 0 0 2 5 0 0 1 4 0 0 2 0 8 0 0 3 7 1 0 2 5 6 8 0 0 0 0 0 0 2 1 2 9 9 8 0 0 7 2 0 0 0 0 0 0 0 0 4 5 3 6 2 1 0 10 3 6 8 0 4 2 5 7 0 0 10 9 0 0 0 0 0 0 0 0 1 2 2 11 0 0 4 9 5 8 6 3 0 0...
output:
? 1 2 ! 2 ? 3 2 ! 2 ? 3 4 ? 4 2 ! 2 ? 4 2 ? 3 5 ! 3 ? 3 2 ? 6 2 ! 6 ? 1 4 ? 2 5 ! 2 ? 3 4 ? 6 8 ? 4 5 ! 5 ? 3 1 ? 4 5 ? 1 8 ! 1 ? 4 2 ? 10 1 ? 1 3 ! 3 ? 6 3 ? 10 2 ? 2 4 ! 4 ? 11 5 ? 4 8 ? 6 7 ! 6 ? 7 13 ? 6 12 ? 11 13 ! 13 ? 5 14 ? 3 8 ? 1 9 ! 1 ? 8 14 ? 4 9 ? 1 3 ! 3 ? 9 10 ? 8 2 ? 16 12 ! 16 ? 3 ...
result:
ok OK (600 test cases)
Test #9:
score: 0
Accepted
time: 16ms
memory: 5320kb
input:
2 99999 0 0 7999 97267 75750 37659 0 0 0 0 33761 92098 90707 18838 13602 27569 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14586 86647 1519 23132 0 0 3430 14643 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 47066 36968 95308 38482 34100 25297 0 0 0 0 0 0 0 0 88902 58991 0 0 0 0 66315 68538 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...
output:
? 69076 22163 ? 11838 89914 ? 18079 15463 ? 72017 29994 ? 80147 27856 ? 80763 26264 ? 39876 84186 ? 73287 34615 ? 43462 43070 ? 38721 85806 ? 84940 93114 ? 3443 79116 ? 49016 68555 ? 56289 87545 ? 32426 3887 ! 3887 ? 78976 42261 ? 84675 32955 ? 2124 81852 ? 13836 79494 ? 80643 24965 ? 38932 5573 ? 5...
result:
ok OK (2 test cases)
Test #10:
score: 0
Accepted
time: 7ms
memory: 4920kb
input:
15 3 3 2 0 0 0 0 1 7 0 0 3 6 0 0 7 2 0 0 0 0 5 1 2 2 15 14 12 0 0 0 0 0 0 8 6 10 11 0 0 3 7 2 4 0 0 0 0 0 0 15 5 0 0 9 1 0 0 0 31 4 9 0 0 29 17 0 0 0 0 15 31 5 21 18 14 0 0 0 0 0 0 16 2 12 7 0 0 23 10 0 0 30 13 0 0 24 27 11 26 0 0 0 0 0 0 0 0 19 20 0 0 0 0 0 0 6 25 8 1 28 22 2 0 0 2 63 53 48 40 57 0...
output:
? 3 2 ! 1 ? 7 2 ? 3 6 ! 6 ? 15 5 ? 9 1 ? 2 4 ! 2 ? 29 17 ? 30 13 ? 8 1 ? 18 14 ! 14 ? 1 2 ? 53 48 ? 63 19 ? 30 56 ? 55 59 ! 56 ? 20 115 ? 71 68 ? 67 3 ? 18 16 ? 123 55 ? 117 104 ! 104 ? 70 140 ? 78 250 ? 223 4 ? 220 204 ? 67 144 ? 75 15 ? 242 199 ! 242 ? 60 121 ? 414 74 ? 99 184 ? 301 403 ? 425 477 ...
result:
ok OK (15 test cases)
Test #11:
score: 0
Accepted
time: 6ms
memory: 4860kb
input:
16 2 0 0 1 0 2 4 4 2 0 0 0 0 3 0 2 2 8 3 0 0 0 0 0 0 0 1 2 0 0 6 4 5 7 2 1 2 16 16 15 0 0 0 0 0 0 7 11 8 10 0 0 13 0 0 0 0 0 0 0 3 9 0 0 4 2 5 14 6 12 2 0 0 32 0 0 22 21 25 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 10 30 0 1 24 12 31 0 0 0 0 16 8 3 15 11 26 23 14 28 20 6 9 0 0 13 27 0 0 0 0 7 17 0 0 0 0 ...
output:
? 2 1 ! 1 ? 3 1 ? 1 2 ! 2 ? 1 8 ? 6 4 ? 8 7 ! 7 ? 6 1 ? 5 14 ? 7 11 ! 7 ? 3 32 ? 22 21 ? 28 20 ? 7 17 ! 17 ? 58 37 ? 19 40 ? 30 38 ? 23 45 ? 2 1 ! 45 ? 83 28 ? 75 21 ? 10 7 ? 126 84 ? 94 33 ? 103 58 ! 58 ? 218 221 ? 199 243 ? 66 123 ? 247 165 ? 94 171 ? 99 77 ? 251 207 ! 251 ? 324 81 ? 36 227 ? 51 2...
result:
ok OK (16 test cases)
Test #12:
score: 0
Accepted
time: 8ms
memory: 4988kb
input:
15 2 0 0 1 0 2 6 6 4 1 5 0 0 0 0 3 0 0 0 2 2 14 0 0 1 7 5 11 13 9 0 0 2 8 0 0 10 0 0 0 0 0 0 0 14 6 0 0 3 4 2 0 2 30 7 0 5 13 0 0 0 0 14 30 15 20 0 0 0 0 3 19 0 0 0 0 11 21 9 1 16 24 0 0 0 0 28 2 8 10 0 0 0 0 0 0 0 0 18 6 0 0 4 29 12 25 0 0 23 26 0 0 27 22 2 0 0 0 62 0 0 0 0 28 47 7 38 0 0 0 0 17 26...
output:
? 2 1 ! 1 ? 6 2 ? 3 2 ! 2 ? 3 12 ? 2 8 ? 1 7 ! 7 ? 23 17 ? 5 13 ? 14 30 ? 16 24 ! 16 ? 36 61 ? 18 30 ? 31 50 ? 10 51 ? 21 8 ! 21 ? 53 125 ? 17 123 ? 15 5 ? 52 12 ? 113 4 ? 24 97 ! 97 ? 42 241 ? 112 193 ? 88 124 ? 17 30 ? 242 116 ? 44 52 ? 169 13 ! 13 ? 30 69 ? 210 172 ? 19 233 ? 186 228 ? 352 269 ? ...
result:
ok OK (15 test cases)
Test #13:
score: 0
Accepted
time: 13ms
memory: 3800kb
input:
600 2 0 0 1 0 2 3 0 0 1 3 0 0 2 4 2 4 0 0 0 0 3 0 2 2 5 2 5 0 0 0 0 0 0 4 3 1 0 6 6 4 0 0 0 0 3 0 2 1 0 0 1 0 7 0 0 0 0 2 4 5 6 0 0 0 0 1 3 2 0 8 2 7 0 0 6 0 0 0 8 3 0 0 4 5 0 0 2 2 2 9 5 2 0 0 7 4 6 8 0 0 0 0 0 0 9 1 0 0 1 1 2 10 3 5 10 7 0 0 0 0 6 2 0 0 4 0 9 1 0 0 0 0 1 2 2 11 9 6 4 1 0 0 0 0 11 ...
output:
? 2 1 ! 1 ? 1 3 ! 3 ? 3 1 ? 1 2 ! 2 ? 4 1 ? 5 3 ! 5 ? 6 4 ? 2 1 ! 2 ? 2 4 ? 5 6 ! 5 ? 8 7 ? 4 1 ? 1 2 ! 2 ? 9 4 ? 5 2 ? 8 1 ! 1 ? 6 2 ? 3 8 ? 8 9 ! 9 ? 3 10 ? 11 10 ? 5 8 ! 5 ? 5 12 ? 9 12 ? 2 7 ! 7 ? 9 2 ? 3 4 ? 11 8 ! 8 ? 9 8 ? 4 12 ? 2 6 ! 6 ? 12 14 ? 5 1 ? 11 15 ! 11 ? 14 10 ? 13 2 ? 9 5 ? 5 7 !...
result:
ok OK (600 test cases)
Test #14:
score: 0
Accepted
time: 20ms
memory: 8484kb
input:
2 99999 96748 53986 34197 77552 29863 63559 79099 26449 45078 1051 0 0 27416 4135 0 0 38606 81189 93892 68603 48776 185 79602 18311 51243 83678 89044 40032 28883 35663 0 0 0 0 21603 15821 0 0 51448 75971 70275 8326 0 0 0 0 57049 72937 3297 94939 0 0 59258 39159 3205 34675 54876 24769 0 0 0 0 0 0 851...
output:
? 27459 71188 ? 24680 87538 ? 11855 13278 ? 64417 35922 ? 19381 58885 ? 59442 2264 ? 33592 76097 ? 52143 37008 ? 72959 47951 ? 58138 34974 ? 36037 22603 ? 56183 85006 ? 35377 46955 ? 76271 81596 ? 91084 1678 ? 86211 72926 ! 72926 ? 36553 70265 ? 93063 11800 ? 78349 99536 ? 22534 59217 ? 21877 84543 ...
result:
ok OK (2 test cases)
Test #15:
score: 0
Accepted
time: 0ms
memory: 6832kb
input:
15 3 0 0 1 3 0 0 1 7 0 0 1 7 0 0 6 2 3 4 0 0 0 0 2 2 15 2 11 0 0 13 1 12 14 0 0 0 0 5 8 10 4 0 0 0 0 0 0 0 0 0 0 6 15 9 3 1 1 0 31 24 22 0 0 31 6 0 0 4 3 11 19 0 0 0 0 28 21 25 20 0 0 0 0 0 0 2 16 0 0 27 18 8 10 15 17 26 1 23 29 7 5 12 14 0 0 0 0 0 0 0 0 0 0 0 0 30 13 0 0 0 0 2 1 1 2 63 51 35 33 57 ...
output:
? 1 3 ! 2 ? 6 2 ? 1 7 ! 7 ? 6 15 ? 10 4 ? 5 8 ! 5 ? 12 14 ? 8 10 ? 27 18 ? 2 16 ! 16 ? 15 38 ? 47 22 ? 13 27 ? 29 44 ? 4 32 ! 44 ? 34 51 ? 33 108 ? 124 30 ? 9 27 ? 87 126 ? 73 2 ! 2 ? 83 124 ? 22 162 ? 230 84 ? 112 110 ? 51 147 ? 29 223 ? 117 212 ! 117 ? 460 322 ? 386 146 ? 81 102 ? 473 135 ? 263 27...
result:
ok OK (15 test cases)
Test #16:
score: 0
Accepted
time: 9ms
memory: 6832kb
input:
16 2 0 0 1 0 2 4 0 0 1 0 4 2 0 0 2 2 8 0 0 0 0 0 0 3 5 8 6 2 0 1 4 0 0 2 2 2 16 0 0 7 8 0 0 1 2 0 0 0 0 0 0 5 10 3 0 12 16 14 13 0 0 15 4 0 0 0 0 6 9 2 2 2 0 32 26 17 5 31 28 25 18 7 0 0 0 0 14 12 15 0 22 4 0 0 29 1 19 2 0 0 0 0 0 0 6 8 10 21 0 0 0 0 0 0 13 3 0 0 0 0 0 0 32 30 0 0 20 9 0 0 0 0 23 16...
output:
? 2 1 ! 1 ? 1 3 ? 3 4 ! 4 ? 8 4 ? 3 7 ? 7 1 ! 1 ? 5 2 ? 1 13 ? 15 11 ? 11 14 ! 11 ? 26 11 ? 19 7 ? 18 9 ? 22 27 ? 27 20 ! 27 ? 29 31 ? 34 6 ? 27 45 ? 62 26 ? 4 14 ? 14 64 ! 14 ? 79 38 ? 99 66 ? 6 105 ? 26 23 ? 81 9 ? 74 116 ? 116 32 ! 32 ? 97 60 ? 22 248 ? 251 203 ? 63 234 ? 109 108 ? 194 173 ? 42 1...
result:
ok OK (16 test cases)
Test #17:
score: 0
Accepted
time: 13ms
memory: 6828kb
input:
15 2 0 0 1 0 2 6 0 0 5 0 1 2 0 0 0 0 4 3 1 2 14 8 14 0 0 0 0 0 0 0 0 12 11 10 0 0 0 2 7 0 0 4 1 0 0 3 6 5 9 1 1 1 30 29 21 6 9 0 0 0 0 0 0 0 0 0 0 19 17 24 30 0 0 14 26 23 0 0 0 0 0 25 18 0 0 7 20 16 12 0 0 13 11 28 8 10 15 0 0 0 0 0 0 3 22 5 2 0 0 0 0 4 1 1 1 1 2 62 0 0 34 33 0 0 0 0 0 0 37 45 0 0 ...
output:
? 2 1 ! 1 ? 1 2 ? 4 3 ! 3 ? 8 14 ? 12 11 ? 3 6 ! 13 ? 7 20 ? 4 1 ? 6 9 ? 5 2 ! 2 ? 48 42 ? 55 12 ? 20 43 ? 11 58 ? 46 10 ! 58 ? 41 17 ? 104 102 ? 44 110 ? 125 61 ? 83 40 ? 43 76 ! 43 ? 59 90 ? 44 221 ? 63 74 ? 38 228 ? 154 196 ? 104 231 ? 226 53 ! 53 ? 468 192 ? 30 303 ? 346 190 ? 120 241 ? 310 180 ...
result:
ok OK (15 test cases)
Test #18:
score: 0
Accepted
time: 19ms
memory: 5440kb
input:
2 99999 0 0 88119 0 72740 0 6901 19702 0 0 10620 84889 0 0 9552 63972 45156 60768 9152 72379 0 0 59875 97207 48193 0 17282 54916 65927 27713 80083 15817 36966 75381 0 0 77279 56298 0 0 11554 61779 0 0 89976 0 65282 42151 95206 62876 97329 86772 0 0 0 0 0 0 11820 0 0 0 20432 0 50520 39907 0 0 46948 1...
output:
? 35226 88409 ? 16093 69527 ? 11494 10853 ? 37465 91694 ? 73088 33972 ? 21572 91343 ? 51091 99968 ? 37874 93596 ? 75096 73345 ? 61908 11549 ? 54898 20607 ? 79113 8254 ? 83493 68953 ? 44148 54898 ? 54898 80270 ! 80270 ? 91773 80592 ? 68004 50906 ? 65219 69818 ? 33796 56485 ? 61722 74041 ? 56446 35779...
result:
ok OK (2 test cases)
Test #19:
score: 0
Accepted
time: 246ms
memory: 3844kb
input:
100000 2 0 0 0 1 2 2 0 0 0 1 0 2 0 0 0 1 2 2 0 0 0 1 0 2 0 0 0 1 2 2 0 0 0 1 0 2 0 0 0 1 0 2 0 0 0 1 0 2 0 0 0 1 0 2 0 0 0 1 2 2 0 0 0 1 0 2 0 0 0 1 0 2 0 0 0 1 2 2 0 0 0 1 2 2 0 0 0 1 0 2 0 0 0 1 2 2 0 0 0 1 2 2 0 0 0 1 2 2 0 0 0 1 2 2 0 0 0 1 0 2 0 0 0 1 0 2 0 0 0 1 0 2 0 0 0 1 2 2 0 0 0 1 0 2 0 0...
output:
? 2 1 ! 1 ? 2 1 ! 2 ? 2 1 ! 1 ? 2 1 ! 2 ? 2 1 ! 1 ? 2 1 ! 2 ? 2 1 ! 2 ? 2 1 ! 2 ? 2 1 ! 2 ? 2 1 ! 1 ? 2 1 ! 2 ? 2 1 ! 2 ? 2 1 ! 1 ? 2 1 ! 1 ? 2 1 ! 2 ? 2 1 ! 1 ? 2 1 ! 1 ? 2 1 ! 1 ? 2 1 ! 1 ? 2 1 ! 2 ? 2 1 ! 2 ? 2 1 ! 2 ? 2 1 ! 1 ? 2 1 ! 2 ? 2 1 ! 2 ? 2 1 ! 1 ? 2 1 ! 1 ? 2 1 ! 1 ? 2 1 ! 1 ? 2 1 ! 1 ...
result:
ok OK (100000 test cases)
Extra Test:
score: 0
Extra Test Passed