QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#758057 | #9570. Binary Tree | piaoyun# | AC ✓ | 301ms | 16940kb | C++14 | 5.1kb | 2024-11-17 15:24:30 | 2024-11-17 15:24:32 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
int query(int x, int y){
cout << "? " << x << " " << y << endl;
cout.flush();
cin >> x;
return x;
}
vector<int> adj[100005];
bool vis[100005];
int T,n;
int sz;
void add(int x, int y){
// cout << "add " << x << " " << y << endl;
adj[x].push_back(y);
adj[y].push_back(x);
}
void Free(int x, int fa){
if(!vis[x]) sz --;
vis[x] = true;
for(int y: adj[x]){
if(y == fa) continue;
Free(y, x);
}
}
int mn,centre = 0;
int sum[100005];
int tot = 0;
int father[100005];
void dfs(int u,int fa){
// cout << "123\n";
father[u] = fa;
if(vis[u]){
sum[u] = 0;
return;
}
sum[u] = 1;
for(auto v : adj[u]){
if(v == fa) continue;
dfs(v,u);
sum[u] += sum[v];
}
}
void get_centre(int u,int fa){
if(vis[u]) return;
int mx = 0;
for(auto v : adj[u]){
if(v == fa) continue;
get_centre(v,u);
mx = max(mx, sum[v]);
}
if(u != fa){
mx = max(mx , tot - sum[u]);
}
// cout << u << " " << mx << endl;
if(mx < mn){
mn = mx;
centre = u;
}
}
int Find(int S){
// cout << "haha\n";
mn = 1e9;
dfs(S,S);
tot = sum[S];
get_centre(S,S);
// cout << centre << " " << mn << endl;
return centre;
}
vector<int> get_adj(int x){
vector<int> ret;
for(int i: adj[x]){
if(!vis[i]) ret.push_back(i);
}
// for(int x: ret) cout << x << "#";
return ret;
}
int main(){
cin >> T;
while(T--){
cin >> n;
for(int i=1;i<=n;i++) vis[i] = false;
for(int i=1;i<=n;i++) adj[i].clear();
for(int i=1;i<=n;i++){
int l,r;
cin >> l >> r;
if(l) add(i, l);
if(r) add(i, r);
}
sz = n;
while(sz > 3){
// cout << "alive: \n";
// for(int i=1;i<=n;i++){
// if(!vis[i]) cout << i << " ";
// }
int alive = -1;
for(int i=1;i<=n;i++)
if(!vis[i]){
alive = i;
break;
}
int x = Find(alive);
vector<int> v = get_adj(x);
if(v.size() == 2){
int a = v[0], b = v[1];
int res = query(a, b);
if(res == 0){
Free(b, x);
if(v.size() > 2){
int c = v[2];
Free(c, x);
}
vis[x] = true;
sz --;
}
else if(res == 1){
Free(b, x);
Free(a, x);
}
else{
// res = 2
Free(a, x);
if(v.size() > 2){
int c = v[2];
Free(c, x);
}
vis[x] = true;
sz --;
}
}
else if(v.size() == 3){
int a = v[0], b = v[1], c = v[2];
vector<pair<int,int>> v1;
if(a == father[x]) v1.push_back({tot - sum[x], a}); else v1.push_back({sum[a], a});
if(b == father[x]) v1.push_back({tot - sum[x], b}); else v1.push_back({sum[b], b});
if(c == father[x]) v1.push_back({tot - sum[x], c}); else v1.push_back({sum[c], c});
sort(v1.rbegin(), v1.rend());
a = v1[0].second, b = v1[1].second, c = v1[2].second;
int res = query(a, b);
if(res == 0){
Free(b, x);
Free(c, x);
vis[x] = true;
sz --;
}
else if(res == 1){
Free(b, x);
Free(a, x);
}
else{
// res = 2
Free(a, x);
Free(c, x);
vis[x] = true;
sz --;
}
}
else{
throw exception();
}
}
int ans = -1;
vector<int> v;
for(int i=1;i<=n;i++) if(!vis[i]) v.push_back(i);
if(v.size() == 1){
ans = v[0];
}
else if(v.size() == 2){
int x = v[0], y = v[1];
int res = query(x,y);
if(res == 0) ans = x;
else ans = y;
}
else if(v.size() == 3){
int x = v[0], y = v[1];
int mid = Find(x);
x = y = -1;
for(int i: v){
if(i != mid){
if(x == -1) x = i;
else y = i;
}
}
int res = query(x,y);
if(res == 0) ans = x;
else if(res == 1) ans = mid;
else ans = y;
}
cout << "! " << ans << endl;
cout.flush();
}
}
详细
Test #1:
score: 100
Accepted
time: 2ms
memory: 6636kb
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: 108ms
memory: 6680kb
input:
5555 8 2 0 8 6 0 0 3 0 0 0 7 0 0 0 5 4 0 0 2 8 0 0 1 4 2 0 0 0 7 8 0 0 3 0 6 0 2 1 0 8 5 8 0 0 1 7 0 0 0 0 4 2 0 0 6 0 0 0 2 5 4 5 3 1 0 0 0 0 0 0 0 2 8 0 0 0 0 5 6 0 0 1 4 2 0 3 8 0 0 0 0 5 3 0 5 1 0 0 0 0 4 0 0 2 5 5 0 0 0 0 0 3 0 2 4 0 0 3 3 0 1 0 0 0 2 2 2 0 0 0 0 3 2 3 0 0 0 0 2 10 2 8 9 7 0 0 ...
output:
? 2 4 ? 2 7 ? 1 2 ! 2 ? 5 3 ? 4 3 ? 1 2 ! 1 ? 1 6 ? 1 7 ? 1 5 ! 5 ? 2 5 ? 2 3 ! 3 ? 5 7 ? 1 4 ! 1 ? 5 1 ? 4 5 ! 5 ? 4 2 ? 3 4 ! 3 ? 2 3 ! 3 ? 1 2 ! 1 ? 2 3 ! 3 ? 2 6 ? 1 9 ? 9 10 ! 10 ? 1 2 ! 1 ? 5 9 ? 8 5 ? 3 4 ! 3 ? 5 8 ? 7 5 ? 1 3 ! 1 ? 9 3 ? 9 7 ? 1 2 ! 1 ? 1 2 ! 2 ? 4 3 ? 1 7 ! 7 ? 4 9 ? 2 3 ? ...
result:
ok OK (5555 test cases)
Test #3:
score: 0
Accepted
time: 79ms
memory: 5976kb
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 0 0 5 4 0 0 0 1 0 2 0 3 0 2 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 0 1 8 7 0 0 0 2 0 8 0 1 0 5 0 3 0 6 0 0 2 2 9 7 0 4 0 2 0 1 0 0 0 8 0 9 0 5 0 6 0 2 0 0 10 9 0 6 0 8 0 7 0 0 0 10 0 2 0 4 0 5 0 1 0 0 2 2 11 2 0 10 0 6 0 9 0 0 ...
output:
? 1 2 ! 2 ? 1 3 ! 3 ? 1 3 ? 1 2 ! 1 ? 4 3 ? 3 5 ! 3 ? 2 1 ? 1 5 ! 1 ? 2 6 ? 2 4 ! 5 ? 1 6 ? 2 7 ? 1 7 ! 7 ? 1 9 ? 8 9 ? 5 8 ! 5 ? 6 7 ? 9 10 ? 6 10 ! 10 ? 2 9 ? 8 4 ? 4 9 ! 4 ? 2 9 ? 3 12 ? 3 9 ! 3 ? 2 3 ? 7 12 ? 1 12 ! 1 ? 4 13 ? 1 6 ? 5 6 ! 6 ? 2 14 ? 15 8 ? 8 13 ! 12 ? 1 15 ? 11 16 ? 16 8 ? 1 8 !...
result:
ok OK (600 test cases)
Test #4:
score: 0
Accepted
time: 288ms
memory: 16940kb
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:
? 70790 43991 ? 36882 98065 ? 17626 87676 ? 23816 44703 ? 44123 980 ? 61196 90504 ? 11034 54094 ? 34051 63621 ? 51371 18783 ? 84143 97532 ? 38461 60696 ? 16255 81556 ? 86108 45817 ? 21321 61995 ? 19268 77473 ? 19268 38461 ! 38461 ? 46352 44110 ? 58000 45037 ? 4670 60270 ? 26275 82440 ? 73169 70127 ?...
result:
ok OK (2 test cases)
Test #5:
score: 0
Accepted
time: 155ms
memory: 11496kb
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 ? 5 1 ? 1 4 ! 4 ? 6 9 ? 7 3 ? 7 10 ! 7 ? 13 29 ? 17 18 ? 1 24 ? 1 17 ! 17 ? 37 8 ? 30 14 ? 55 56 ? 22 19 ? 19 56 ! 31 ? 36 89 ? 96 110 ? 20 79 ? 62 106 ? 82 86 ? 61 82 ! 82 ? 64 233 ? 148 51 ? 1 176 ? 126 78 ? 251 252 ? 200 224 ? 176 200 ! 176 ? 439 48 ? 144 457 ? 376 142 ? 193 427 ? 173 2...
result:
ok OK (15 test cases)
Test #6:
score: 0
Accepted
time: 159ms
memory: 11328kb
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 0 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 2 0 0 2 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 ? 2 1 ? 1 4 ! 4 ? 3 8 ? 1 2 ? 1 8 ! 1 ? 4 3 ? 5 15 ? 1 5 ? 1 3 ! 3 ? 12 30 ? 6 11 ? 18 1 ? 15 2 ? 1 15 ! 1 ? 3 60 ? 15 63 ? 5 54 ? 39 18 ? 1 5 ? 1 18 ! 1 ? 57 124 ? 64 72 ? 38 4 ? 84 79 ? 88 35 ? 1 88 ? 1 79 ! 1 ? 90 113 ? 91 222 ? 148 57 ? 59 232 ? 147 221 ? 31 114 ? 1 91 ? 1 31 ! 1 ? 90 ...
result:
ok OK (16 test cases)
Test #7:
score: 0
Accepted
time: 152ms
memory: 11880kb
input:
15 2 2 0 0 0 2 6 5 0 1 0 6 0 2 0 3 0 0 0 0 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 ? 1 3 ? 1 4 ! 4 ? 5 14 ? 12 6 ? 12 14 ! 9 ? 16 21 ? 8 5 ? 3 6 ? 3 21 ! 21 ? 10 60 ? 9 2 ? 36 34 ? 24 47 ? 9 47 ! 52 ? 84 70 ? 90 37 ? 75 99 ? 3 105 ? 42 123 ? 105 123 ! 105 ? 204 159 ? 47 235 ? 109 158 ? 46 171 ? 140 131 ? 78 195 ? 46 195 ! 195 ? 359 209 ? 137 139 ? 71 459 ? 289 474 ? 183 ...
result:
ok OK (15 test cases)
Test #8:
score: 0
Accepted
time: 52ms
memory: 6212kb
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 0 0 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 0 0 7 3 7 0 0 0 0 2 5 0 0 1 4 0 0 0 1 8 0 0 3 7 1 0 2 5 6 8 0 0 0 0 0 0 0 0 0 9 9 8 0 0 7 2 0 0 0 0 0 0 0 0 4 5 3 6 0 1 2 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 ? 1 2 ? 1 3 ! 1 ? 2 5 ? 3 4 ! 3 ? 1 4 ? 3 5 ! 3 ? 1 4 ? 3 7 ! 1 ? 2 5 ? 3 7 ? 1 3 ! 1 ? 1 3 ? 5 4 ? 1 8 ! 8 ? 1 4 ? 10 9 ? 1 6 ! 6 ? 2 6 ? 11 10 ? 2 9 ! 9 ? 1 11 ? 4 8 ? 1 7 ! 7 ? 13 8 ? 9 13 ? 5 6 ! 9 ? 14 10 ? 3 8 ? 1 9 ! 1 ? 8 14 ? 4 9 ? 10 15 ! 15 ? 15 7 ? 15 14 ? 15 3 ? 1 11...
result:
ok OK (600 test cases)
Test #9:
score: 0
Accepted
time: 151ms
memory: 9968kb
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 69076 ? 79924 11838 ? 18079 15463 ? 72017 29994 ? 80147 27856 ? 80763 26264 ? 39876 84186 ? 73287 34615 ? 43462 43070 ? 38721 85806 ? 84940 93114 ? 3443 79116 ? 49016 68555 ? 56289 87545 ? 3887 32426 ! 32426 ? 72481 78976 ? 96633 84675 ? 81852 2124 ? 64228 84822 ? 19229 57178 ? 58509 46889 ?...
result:
ok OK (2 test cases)
Test #10:
score: 0
Accepted
time: 83ms
memory: 8820kb
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 ? 7 2 ? 3 6 ! 6 ? 15 5 ? 9 1 ? 2 4 ! 2 ? 29 17 ? 30 13 ? 8 1 ? 14 18 ! 18 ? 1 2 ? 53 48 ? 63 19 ? 30 56 ? 55 59 ! 56 ? 20 115 ? 71 68 ? 67 3 ? 18 16 ? 123 55 ? 104 117 ! 117 ? 70 140 ? 78 250 ? 223 4 ? 220 204 ? 67 144 ? 75 15 ? 199 242 ! 199 ? 60 121 ? 414 74 ? 99 184 ? 301 403 ? 425 477 ...
result:
ok OK (15 test cases)
Test #11:
score: 0
Accepted
time: 91ms
memory: 8560kb
input:
16 2 0 0 1 0 2 4 4 2 0 0 0 0 3 0 0 0 8 3 0 0 0 0 0 0 0 1 2 0 0 6 4 5 7 0 0 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 1 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 ? 1 3 ? 1 2 ! 1 ? 5 7 ? 1 2 ? 1 3 ! 3 ? 1 6 ? 14 5 ? 2 4 ! 14 ? 32 3 ? 22 21 ? 28 20 ? 7 17 ! 17 ? 37 58 ? 40 19 ? 30 38 ? 21 42 ? 33 60 ! 42 ? 92 13 ? 92 57 ? 102 80 ? 108 48 ? 50 90 ? 42 110 ! 90 ? 245 3 ? 245 223 ? 150 131 ? 193 34 ? 164 71 ? 230 148 ? 212 213 ! 213 ? 39 511 ? 324 57 ? ...
result:
ok OK (16 test cases)
Test #12:
score: 0
Accepted
time: 94ms
memory: 9136kb
input:
15 2 0 0 1 0 2 6 6 4 1 5 0 0 0 0 3 0 0 0 0 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 ? 1 5 ? 4 6 ! 6 ? 12 4 ? 2 8 ? 1 7 ! 7 ? 17 26 ? 5 13 ? 14 30 ? 16 24 ! 16 ? 16 57 ? 36 43 ? 12 4 ? 7 38 ? 17 26 ! 26 ? 125 93 ? 17 123 ? 15 5 ? 52 12 ? 88 96 ? 30 54 ! 54 ? 241 224 ? 112 193 ? 88 124 ? 17 30 ? 154 233 ? 186 72 ? 189 243 ! 186 ? 284 376 ? 30 32 ? 98 159 ? 249 71 ? 192 92 ?...
result:
ok OK (15 test cases)
Test #13:
score: 0
Accepted
time: 53ms
memory: 5932kb
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 0 0 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 0 0 7 0 0 0 0 2 4 5 6 0 0 0 0 1 3 0 1 8 2 7 0 0 6 0 0 0 8 3 0 0 4 5 0 0 0 0 0 9 5 2 0 0 7 4 6 8 0 0 0 0 0 0 9 1 0 0 0 0 2 10 3 5 10 7 0 0 0 0 6 2 0 0 4 0 9 1 0 0 0 0 2 2 2 11 9 6 4 1 0 0 0 0 11 ...
output:
? 1 2 ! 2 ? 1 3 ! 3 ? 1 3 ? 1 2 ! 1 ? 1 4 ? 3 5 ! 3 ? 5 4 ? 2 5 ! 2 ? 4 7 ? 5 6 ! 4 ? 7 3 ? 1 4 ? 1 2 ! 1 ? 4 1 ? 3 6 ? 3 7 ! 7 ? 2 1 ? 9 1 ? 1 3 ! 3 ? 10 1 ? 10 11 ? 5 8 ! 8 ? 4 7 ? 8 4 ? 1 6 ! 1 ? 2 4 ? 12 2 ? 2 10 ! 2 ? 12 8 ? 14 12 ? 2 12 ! 12 ? 14 9 ? 1 14 ? 11 15 ! 15 ? 1 6 ? 15 16 ? 1 12 ? 1 ...
result:
ok OK (600 test cases)
Test #14:
score: 0
Accepted
time: 233ms
memory: 14016kb
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:
? 71188 96970 ? 87538 6820 ? 59029 32876 ? 46360 20365 ? 49372 9490 ? 51870 93805 ? 96975 74496 ? 13426 43271 ? 87378 71402 ? 32442 1061 ? 44393 53273 ? 58368 38147 ? 39701 77611 ? 11375 60100 ? 11375 1061 ? 1061 98518 ! 1061 ? 50499 6749 ? 42167 37781 ? 96466 36486 ? 37783 33496 ? 48920 28303 ? 935...
result:
ok OK (2 test cases)
Test #15:
score: 0
Accepted
time: 150ms
memory: 10288kb
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 0 1 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 0 1 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 0 0 0 63 51 35 33 57 ...
output:
? 1 3 ! 2 ? 2 5 ? 1 7 ! 2 ? 15 4 ? 1 15 ? 2 11 ! 1 ? 14 1 ? 10 18 ? 29 10 ? 13 30 ! 13 ? 38 44 ? 42 1 ? 2 9 ? 34 2 ? 5 23 ! 23 ? 51 31 ? 96 62 ? 100 8 ? 52 89 ? 82 52 ? 57 70 ! 57 ? 124 122 ? 162 102 ? 84 231 ? 110 135 ? 147 223 ? 236 147 ? 80 201 ! 201 ? 322 266 ? 146 414 ? 72 335 ? 66 306 ? 89 76 ...
result:
ok OK (15 test cases)
Test #16:
score: 0
Accepted
time: 122ms
memory: 10144kb
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 0 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 0 0 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:
? 1 2 ! 2 ? 4 2 ? 1 2 ! 2 ? 4 6 ? 3 7 ? 1 7 ! 7 ? 2 10 ? 4 11 ? 7 4 ? 1 4 ! 1 ? 1 31 ? 3 30 ? 17 3 ? 1 10 ? 1 26 ! 1 ? 56 43 ? 11 18 ? 52 47 ? 17 52 ? 44 1 ? 1 38 ! 38 ? 38 43 ? 17 53 ? 117 69 ? 113 45 ? 107 113 ? 30 117 ? 1 117 ! 1 ? 133 170 ? 75 121 ? 14 197 ? 1 90 ? 3 103 ? 212 3 ? 190 1 ? 1 245 ...
result:
ok OK (16 test cases)
Test #17:
score: 0
Accepted
time: 124ms
memory: 10752kb
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 ? 14 11 ? 13 11 ? 3 13 ! 3 ? 20 8 ? 26 15 ? 15 12 ? 15 25 ! 25 ? 59 42 ? 15 2 ? 52 16 ? 16 15 ? 15 62 ! 62 ? 40 17 ? 102 11 ? 119 110 ? 67 15 ? 119 15 ? 35 119 ! 119 ? 189 90 ? 224 65 ? 185 73 ? 82 42 ? 18 9 ? 73 9 ? 73 124 ! 73 ? 192 60 ? 285 44 ? 151 36 ? 443 70 ? 295 229...
result:
ok OK (15 test cases)
Test #18:
score: 0
Accepted
time: 207ms
memory: 9892kb
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 ? 75096 14316 ? 75096 55875 ? 42793 96805 ? 59747 42793 ? 67072 472 ? 59747 64770 ! 92650 ? 80592 36933 ? 50906 68004 ? 73367 65219 ? 20489 33796 ? 74041 19704 ? 35779 74041 ? 35779 85560 ?...
result:
ok OK (2 test cases)
Test #19:
score: 0
Accepted
time: 301ms
memory: 5912kb
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