QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#728740 | #9570. Binary Tree | ucup-team5657# | AC ✓ | 380ms | 28584kb | C++14 | 3.8kb | 2024-11-09 15:49:00 | 2024-11-09 15:49:07 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5 + 5;
const int B = 19;
struct edge {
int to, Next;
edge() {}
edge(int to, int Next): to(to), Next(Next) {}
} G[N << 1];
int head[N], cnt;
inline void add_edge(int u, int v) {
G[++cnt] = edge(v, head[u]);
head[u] = cnt;
}
int T, n;
vector <int> V, tmp1;
vector <pair <int, int> > E, tmp2;
int fa[N], dep[N], dfn[N], dcnt;
pair <int, int> f[B][N];
inline void dfs0(int u) {
dep[u] = dep[fa[u]] + 1;
dfn[u] = ++dcnt;
for (int i = head[u]; i; i = G[i].Next) {
int v = G[i].to;
if (v == fa[u]) {
continue;
}
fa[v] = u;
dfs0(v);
}
}
inline void init() {
dcnt = 0;
dfs0(1);
for (int i = 1; i <= n; ++i) {
f[0][dfn[i]] = make_pair(dep[i], i);
}
for (int j = 1; j < B; ++j) {
for (int i = 1; i + (1 << j) - 1 <= n; ++i) {
f[j][i] = min(f[j - 1][i], f[j - 1][i + (1 << (j - 1))]);
}
}
}
inline int ask(int u, int v) {
cout << "? " << u << " " << v << endl;
int res;
cin >> res;
return res;
}
inline void print(int u) {
cout << "! " << u << endl;
}
ll siz[N], g[N];
inline void dfs1(int fa, int u) {
siz[u] = 1;
for (int i = head[u]; i; i = G[i].Next) {
int v = G[i].to;
if (v == fa) {
continue;
}
dfs1(u, v);
siz[u] += siz[v];
g[u] += g[v] + siz[v];
}
}
inline void dfs2(int fa, int u) {
if (fa) {
g[u] = g[fa] - siz[u] + (V.size() - siz[u]);
}
for (int i = head[u]; i; i = G[i].Next) {
int v = G[i].to;
if (v == fa) {
continue;
}
dfs2(u, v);
}
}
inline int lca(int u, int v) {
if (u == v) {
return u;
}
if (dfn[u] > dfn[v]) {
swap(u, v);
}
int d = __builtin_clz(dfn[v] - dfn[u]) ^ 31;
int p = min(f[d][dfn[u] + 1], f[d][dfn[v] - (1 << d) + 1]).second;
return fa[p];
}
inline int dis(int u, int v) {
return dep[u] + dep[v] - (dep[lca(u, v)] << 1);
}
inline int F() {
if (V.size() == 1) {
return V[0];
}
for (auto u: V) {
head[u] = 0;
}
cnt = 0;
for (auto p: E) {
add_edge(p.first, p.second);
add_edge(p.second, p.first);
}
dfs1(0, V[0]);
dfs2(0, V[0]);
int u = -1;
for (auto p: V) {
if (u == -1 || g[p] <= g[u]) {
u = p;
}
}
int p = G[head[u]].to, q = G[G[head[u]].Next].to;
if (!q) {
q = u;
}
if (G[G[head[u]].Next].Next) {
int r = G[G[G[head[u]].Next].Next].to;
dfs1(u, p);
dfs1(u, q);
dfs1(u, r);
if (siz[r] > siz[p]) {
swap(p, r);
}
if (siz[r] > siz[q]) {
swap(q, r);
}
}
int res = ask(p, q);
tmp1 = V;
tmp2 = E;
V.clear();
E.clear();
if (res == 0) {
for (auto u: tmp1) {
if (dis(u, p) < dis(u, q)) {
V.emplace_back(u);
}
}
for (auto k: tmp2) {
if (dis(k.first, p) < dis(k.first, q) && dis(k.second, p) < dis(k.second, q)) {
E.emplace_back(k);
}
}
} else if (res == 1) {
for (auto u: tmp1) {
if (dis(u, p) == dis(u, q)) {
V.emplace_back(u);
}
}
for (auto k: tmp2) {
if (dis(k.first, p) == dis(k.first, q) && dis(k.second, p) == dis(k.second, q)) {
E.emplace_back(k);
}
}
} else {
for (auto u: tmp1) {
if (dis(u, p) > dis(u, q)) {
V.emplace_back(u);
}
}
for (auto k: tmp2) {
if (dis(k.first, p) > dis(k.first, q) && dis(k.second, p) > dis(k.second, q)) {
E.emplace_back(k);
}
}
}
return F();
}
inline void solve() {
cin >> n;
for (int i = 1; i <= n; ++i) {
head[i] = 0;
}
cnt = 0;
V.clear();
E.clear();
for (int i = 1; i <= n; ++i) {
int u, v;
cin >> u >> v;
V.emplace_back(i);
if (u) {
E.emplace_back(make_pair(i, u));
add_edge(i, u);
add_edge(u, i);
}
if (v) {
E.emplace_back(make_pair(i, v));
add_edge(i, v);
add_edge(v, i);
}
}
init();
print(F());
}
int main() {
cin >> T;
while (T--) {
solve();
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 11832kb
input:
2 5 0 0 1 5 2 4 0 0 0 0 1 0 2 0 2 0 0 2
output:
? 3 5 ? 1 2 ! 1 ? 1 2 ! 2
result:
ok OK (2 test cases)
Test #2:
score: 0
Accepted
time: 129ms
memory: 16308kb
input:
5555 8 2 0 8 6 0 0 3 0 0 0 7 0 0 0 5 4 0 2 0 8 0 0 1 4 2 0 0 0 7 8 0 0 3 0 6 0 0 1 2 8 5 8 0 0 1 7 0 0 0 0 4 2 0 0 6 0 2 2 2 5 4 5 3 1 0 0 0 0 0 0 0 0 8 0 0 0 0 5 6 0 0 1 4 2 0 3 8 0 0 0 2 5 3 0 5 1 0 0 0 0 4 0 0 0 5 5 0 0 0 0 0 3 0 2 4 1 2 3 3 0 1 0 0 0 2 2 2 0 0 0 2 3 2 3 0 0 0 0 2 10 2 8 9 7 0 0 ...
output:
? 2 4 ? 7 2 ? 1 2 ! 1 ? 3 5 ? 3 4 ? 1 2 ! 2 ? 6 1 ? 7 1 ? 1 5 ! 5 ? 2 5 ? 2 3 ! 2 ? 5 6 ? 4 1 ! 1 ? 1 5 ? 1 3 ! 1 ? 4 2 ? 1 5 ! 5 ? 2 3 ! 3 ? 1 2 ! 2 ? 3 2 ! 2 ? 2 6 ? 9 1 ? 9 10 ! 9 ? 1 2 ! 1 ? 9 5 ? 5 8 ? 3 4 ! 3 ? 8 5 ? 7 1 ? 7 9 ! 9 ? 9 3 ? 9 7 ? 1 2 ! 2 ? 1 2 ! 2 ? 4 3 ? 7 1 ! 1 ? 4 9 ? 3 2 ? 2...
result:
ok OK (5555 test cases)
Test #3:
score: 0
Accepted
time: 91ms
memory: 13956kb
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 0 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 0 2 9 7 0 4 0 2 0 1 0 0 0 8 0 9 0 5 0 6 0 2 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 ? 1 2 ! 2 ? 3 4 ? 3 5 ! 3 ? 1 2 ? 5 1 ! 5 ? 6 2 ? 2 4 ! 2 ? 6 1 ? 3 1 ? 2 3 ! 3 ? 9 1 ? 1 2 ? 2 3 ! 3 ? 10 2 ? 8 7 ? 2 7 ! 7 ? 9 2 ? 10 6 ? 2 10 ! 2 ? 1 6 ? 2 4 ? 11 4 ! 4 ? 3 2 ? 10 8 ? 8 3 ! 3 ? 13 4 ? 6 1 ? 1 4 ! 4 ? 14 2 ? 4 7 ? 6 7 ! 6 ? 15 1 ? 2 6 ? 7 2 ? 7 9 ! 7 ? 13...
result:
ok OK (600 test cases)
Test #4:
score: 0
Accepted
time: 181ms
memory: 28584kb
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 ? 98261 46637 ? 86742 20402 ? 93018 13737 ? 183 65869 ? 51361 8313 ? 24878 68217 ? 84601 3877 ? 77534 68008 ? 69893 66421 ? 91982 32490 ? 82073 36979 ? 1510 39039 ? 42790 23766 ? 39822 46593 ? 46593 20402 ! 20402 ? 85780 5676 ? 23809 22364 ? 8271 9912 ? 24772 12102 ? 11997 18122 ? 8822...
result:
ok OK (2 test cases)
Test #5:
score: 0
Accepted
time: 100ms
memory: 22472kb
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:
? 3 1 ! 2 ? 1 5 ? 5 2 ! 2 ? 9 6 ? 8 5 ? 13 8 ! 13 ? 29 13 ? 16 2 ? 9 28 ? 9 13 ! 13 ? 8 37 ? 10 24 ? 57 12 ? 41 25 ? 25 12 ! 63 ? 89 36 ? 71 6 ? 54 9 ? 91 107 ? 111 53 ? 111 91 ! 91 ? 233 64 ? 246 68 ? 239 76 ? 34 110 ? 160 163 ? 212 57 ? 212 76 ! 212 ? 48 439 ? 468 437 ? 322 37 ? 316 202 ? 164 57 ?...
result:
ok OK (15 test cases)
Test #6:
score: 0
Accepted
time: 93ms
memory: 25012kb
input:
16 2 2 0 0 0 2 4 4 0 3 0 1 0 0 0 0 0 8 5 0 0 0 4 0 8 0 2 0 3 0 6 0 1 0 2 2 0 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 0 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 ? 1 2 ? 1 4 ! 1 ? 1 4 ? 7 3 ? 3 4 ! 3 ? 3 4 ? 15 5 ? 5 1 ? 1 3 ! 1 ? 30 12 ? 11 6 ? 1 18 ? 2 15 ? 1 15 ! 1 ? 24 8 ? 20 6 ? 10 13 ? 30 4 ? 21 4 ? 13 21 ! 13 ? 124 57 ? 48 58 ? 39 69 ? 74 24 ? 73 28 ? 37 73 ? 24 37 ! 37 ? 113 90 ? 222 91 ? 57 148 ? 231 68 ? 177 62 ? 215 85 ? 85 67 ? 57 67 ! ...
result:
ok OK (16 test cases)
Test #7:
score: 0
Accepted
time: 103ms
memory: 22660kb
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 0 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 0 0 0 2 62 24 0 22 0 18 0 17 0 49 0 53 0 3...
output:
? 1 2 ! 2 ? 3 1 ? 4 1 ! 1 ? 4 9 ? 10 7 ? 2 10 ! 13 ? 21 16 ? 5 8 ? 12 19 ? 12 10 ! 10 ? 30 33 ? 32 4 ? 61 45 ? 43 46 ? 46 61 ! 20 ? 70 84 ? 37 90 ? 58 56 ? 50 61 ? 11 28 ? 90 28 ! 90 ? 12 100 ? 118 71 ? 44 192 ? 197 42 ? 74 106 ? 170 60 ? 197 60 ! 60 ? 449 68 ? 319 190 ? 450 334 ? 422 170 ? 437 35 ?...
result:
ok OK (15 test cases)
Test #8:
score: 0
Accepted
time: 88ms
memory: 14008kb
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 0 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 2 2 9 9 8 0 0 7 2 0 0 0 0 0 0 0 0 4 5 3 6 0 1 0 10 3 6 8 0 4 2 5 7 0 0 10 9 0 0 0 0 0 0 0 0 0 1 2 11 0 0 4 9 5 8 6 3 0 0...
output:
? 1 2 ! 2 ? 2 3 ! 3 ? 2 1 ? 1 3 ! 3 ? 2 4 ? 1 2 ! 1 ? 4 1 ? 5 3 ! 5 ? 4 1 ? 7 3 ! 7 ? 5 2 ? 1 2 ? 2 7 ! 7 ? 1 3 ? 5 4 ? 1 8 ! 1 ? 1 4 ? 9 10 ? 1 6 ! 6 ? 2 6 ? 4 8 ? 3 5 ! 5 ? 1 11 ? 8 4 ? 4 10 ! 4 ? 13 8 ? 9 11 ? 5 6 ! 5 ? 11 12 ? 10 5 ? 13 4 ! 13 ? 14 8 ? 5 2 ? 6 11 ! 11 ? 10 9 ? 8 2 ? 12 16 ! 2 ? ...
result:
ok OK (600 test cases)
Test #9:
score: 0
Accepted
time: 157ms
memory: 26260kb
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:
? 50379 22163 ? 79924 11838 ? 18079 15463 ? 29994 72017 ? 54478 38898 ? 16830 54985 ? 46932 86260 ? 42605 7330 ? 22767 47205 ? 90901 68632 ? 48364 51368 ? 84599 82803 ? 64250 17324 ? 13480 97300 ? 16726 24124 ! 24124 ? 72481 42261 ? 96633 84675 ? 2124 81852 ? 79494 13836 ? 37561 71702 ? 49539 26682 ...
result:
ok OK (2 test cases)
Test #10:
score: 0
Accepted
time: 91ms
memory: 21460kb
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:
? 2 3 ! 1 ? 2 7 ? 1 5 ! 5 ? 5 15 ? 6 8 ? 11 10 ! 11 ? 17 29 ? 25 6 ? 20 19 ? 26 11 ! 11 ? 2 1 ? 57 40 ? 11 33 ? 9 12 ? 22 7 ! 12 ? 115 20 ? 45 48 ? 15 88 ? 8 102 ? 50 93 ? 70 59 ! 59 ? 140 70 ? 196 206 ? 130 254 ? 150 6 ? 191 87 ? 82 81 ? 86 113 ! 86 ? 121 60 ? 71 305 ? 225 284 ? 15 251 ? 268 276 ? ...
result:
ok OK (15 test cases)
Test #11:
score: 0
Accepted
time: 96ms
memory: 22904kb
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 2 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 0 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:
? 1 2 ! 2 ? 3 1 ? 1 2 ! 2 ? 7 5 ? 2 1 ? 1 3 ! 3 ? 1 6 ? 14 5 ? 2 4 ! 2 ? 2 19 ? 15 3 ? 3 13 ? 8 16 ? 3 18 ! 3 ? 14 9 ? 9 29 ? 10 46 ? 34 7 ? 31 48 ! 48 ? 28 83 ? 75 21 ? 47 122 ? 112 67 ? 124 78 ? 116 114 ! 114 ? 221 218 ? 199 243 ? 202 92 ? 116 175 ? 152 139 ? 43 155 ? 40 26 ! 26 ? 511 39 ? 39 289 ...
result:
ok OK (16 test cases)
Test #12:
score: 0
Accepted
time: 97ms
memory: 24376kb
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 0 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 0 0 0 0 62 0 0 0 0 28 47 7 38 0 0 0 0 17 26...
output:
? 1 2 ! 2 ? 5 1 ? 4 6 ! 6 ? 12 3 ? 2 8 ? 7 1 ! 1 ? 17 23 ? 5 13 ? 30 14 ? 22 27 ! 22 ? 57 16 ? 43 36 ? 20 13 ? 29 40 ? 1 56 ! 56 ? 44 18 ? 93 53 ? 45 75 ? 41 107 ? 73 29 ? 118 66 ! 66 ? 241 42 ? 112 193 ? 124 88 ? 30 17 ? 116 242 ? 204 39 ? 176 78 ! 176 ? 69 30 ? 172 210 ? 233 19 ? 228 186 ? 269 352...
result:
ok OK (15 test cases)
Test #13:
score: 0
Accepted
time: 83ms
memory: 16112kb
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 0 0 6 6 4 0 0 0 0 3 0 2 1 0 0 0 2 7 0 0 0 0 2 4 5 6 0 0 0 0 1 3 2 2 8 2 7 0 0 6 0 0 0 8 3 0 0 4 5 0 0 0 0 2 9 5 2 0 0 7 4 6 8 0 0 0 0 0 0 9 1 0 0 0 2 2 10 3 5 10 7 0 0 0 0 6 2 0 0 4 0 9 1 0 0 0 0 2 0 2 11 9 6 4 1 0 0 0 0 11 ...
output:
? 1 2 ! 2 ? 3 1 ! 1 ? 3 1 ? 1 2 ! 2 ? 1 4 ? 1 2 ! 1 ? 5 4 ? 2 5 ! 5 ? 7 4 ? 6 5 ! 5 ? 5 1 ? 3 8 ? 3 6 ! 6 ? 4 1 ? 6 3 ? 3 7 ! 7 ? 2 1 ? 1 9 ? 1 3 ! 3 ? 10 1 ? 10 8 ? 5 11 ! 5 ? 4 7 ? 4 8 ? 4 5 ! 5 ? 2 4 ? 2 12 ? 2 10 ! 10 ? 12 8 ? 8 10 ? 7 10 ! 10 ? 9 14 ? 14 1 ? 15 11 ! 15 ? 1 6 ? 3 1 ? 8 3 ? 3 11 ...
result:
ok OK (600 test cases)
Test #14:
score: 0
Accepted
time: 171ms
memory: 27656kb
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:
? 96970 71188 ? 87538 6820 ? 59029 32876 ? 20365 46360 ? 49372 9490 ? 17131 97012 ? 47373 63260 ? 26578 23892 ? 55470 55362 ? 28004 5567 ? 61161 44376 ? 43602 24748 ? 21766 18809 ? 14590 63814 ? 14590 43602 ? 43602 76541 ! 43602 ? 50499 6749 ? 17715 75012 ? 58179 31421 ? 64768 20076 ? 98628 64370 ? ...
result:
ok OK (2 test cases)
Test #15:
score: 0
Accepted
time: 88ms
memory: 24516kb
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 0 2 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 0 2 0 2 63 51 35 33 57 ...
output:
? 3 1 ! 2 ? 5 2 ? 7 1 ! 1 ? 15 4 ? 15 1 ? 11 2 ! 11 ? 14 1 ? 18 10 ? 29 10 ? 13 30 ! 30 ? 44 38 ? 42 1 ? 2 9 ? 34 2 ? 23 5 ! 23 ? 31 51 ? 96 62 ? 100 8 ? 89 52 ? 52 82 ? 57 70 ! 82 ? 124 122 ? 102 162 ? 231 84 ? 135 110 ? 223 147 ? 236 147 ? 80 201 ! 201 ? 322 266 ? 414 146 ? 335 72 ? 306 66 ? 76 89...
result:
ok OK (15 test cases)
Test #16:
score: 0
Accepted
time: 94ms
memory: 23192kb
input:
16 2 0 0 1 0 2 4 0 0 1 0 4 2 0 0 0 0 8 0 0 0 0 0 0 3 5 8 6 2 0 1 4 0 0 0 0 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 0 0 0 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:
? 1 2 ! 2 ? 2 4 ? 1 2 ! 1 ? 4 6 ? 4 1 ? 3 4 ! 4 ? 2 10 ? 4 11 ? 2 1 ? 2 7 ! 2 ? 31 1 ? 3 30 ? 17 3 ? 10 1 ? 1 26 ! 1 ? 31 10 ? 57 3 ? 49 9 ? 43 9 ? 31 24 ? 31 39 ! 31 ? 24 37 ? 55 56 ? 61 25 ? 34 11 ? 10 61 ? 118 10 ? 10 13 ! 10 ? 60 89 ? 118 78 ? 205 32 ? 38 80 ? 139 51 ? 28 38 ? 28 213 ? 28 244 ! ...
result:
ok OK (16 test cases)
Test #17:
score: 0
Accepted
time: 100ms
memory: 21912kb
input:
15 2 0 0 1 0 2 6 0 0 5 0 1 2 0 0 0 0 4 3 2 0 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 2 0 0 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 0 2 0 2 62 0 0 34 33 0 0 0 0 0 0 37 45 0 0 ...
output:
? 1 2 ! 2 ? 6 2 ? 2 5 ! 2 ? 11 14 ? 14 7 ? 5 14 ! 5 ? 20 8 ? 26 15 ? 12 15 ? 12 23 ! 23 ? 59 42 ? 15 2 ? 52 16 ? 16 15 ? 15 62 ! 62 ? 17 40 ? 77 69 ? 74 20 ? 80 38 ? 38 81 ? 38 64 ! 64 ? 189 90 ? 224 65 ? 73 185 ? 206 107 ? 19 78 ? 78 90 ? 78 96 ! 78 ? 192 60 ? 44 285 ? 25 327 ? 414 246 ? 221 137 ? ...
result:
ok OK (15 test cases)
Test #18:
score: 0
Accepted
time: 178ms
memory: 25316kb
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:
? 52174 35226 ? 26122 16093 ? 11494 10853 ? 11494 91694 ? 90037 73088 ? 90037 21572 ? 51091 91442 ? 7067 93596 ? 14316 75096 ? 75096 55875 ? 96805 42793 ? 42793 59747 ? 472 67072 ? 64770 59747 ! 92650 ? 36933 80592 ? 68004 50906 ? 73367 65219 ? 20489 33796 ? 74041 19704 ? 74041 35779 ? 35779 85560 ?...
result:
ok OK (2 test cases)
Test #19:
score: 0
Accepted
time: 380ms
memory: 7800kb
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:
? 1 2 ! 2 ? 1 2 ! 1 ? 1 2 ! 2 ? 1 2 ! 1 ? 1 2 ! 2 ? 1 2 ! 1 ? 1 2 ! 1 ? 1 2 ! 1 ? 1 2 ! 1 ? 1 2 ! 2 ? 1 2 ! 1 ? 1 2 ! 1 ? 1 2 ! 2 ? 1 2 ! 2 ? 1 2 ! 1 ? 1 2 ! 2 ? 1 2 ! 2 ? 1 2 ! 2 ? 1 2 ! 2 ? 1 2 ! 1 ? 1 2 ! 1 ? 1 2 ! 1 ? 1 2 ! 2 ? 1 2 ! 1 ? 1 2 ! 1 ? 1 2 ! 2 ? 1 2 ! 2 ? 1 2 ! 2 ? 1 2 ! 2 ? 1 2 ! 2 ...
result:
ok OK (100000 test cases)
Extra Test:
score: 0
Extra Test Passed