QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#758016 | #9570. Binary Tree | Eureka | AC ✓ | 262ms | 16424kb | C++14 | 5.5kb | 2024-11-17 15:08:34 | 2024-11-17 15:08:35 |
Judging History
answer
//
// Created by 16429 on 2024/11/17.
//
#include "bits/stdc++.h"
using namespace std;
const int N = 3e5+ 50;
struct node{
int v,nt;
};
struct Tree{
vector<int> head,id;
vector<node> ed;
vector<int> sz;
int tot;
int n;
void init(int x){
tot = 0;
n = x;
ed = vector<node>(2*(n+1),{0,0});
sz = id = head = vector<int>(n+1,0);
}
void add_edge(int u,int v){
ed[++tot] = {v,head[u]};
head[u] = tot;
}
};
int sz[N], // 这个节点的「大小」(所有子树上节点数 + 该节点)
weight[N], // 这个节点的「重量」,即所有子树「大小」的最大值
centroid[2]; // 用于记录树的重心(存的是节点编号)
void GetCentroid(int cur, int fa, Tree &tre) { // cur 表示当前节点 (current)
sz[cur] = 1;
weight[cur] = 0;
for (int i = tre.head[cur]; i; i = tre.ed[i].nt) {
if (tre.ed[i].v != fa) { // e[i].to 表示这条有向边所通向的节点。
GetCentroid(tre.ed[i].v, cur, tre);
sz[cur] += sz[tre.ed[i].v];
weight[cur] = max(weight[cur], sz[tre.ed[i].v]);
}
}
weight[cur] = max(weight[cur], tre.n - sz[cur]);
if(weight[cur]<weight[centroid[0]]){
centroid[0] = cur;
}
}
int getzhong(Tree &tre){
for (int i = 0; i <= tre.n; ++i) {
sz[i] = weight[i] = centroid[0] = 0;
}
weight[0] = 1e9;
GetCentroid(1, 0, tre);
return centroid[0];
}
int gtsz(int nw,int fa,Tree &tre){
int res = 1;
for(int i= tre.head[nw]; i ; i = tre.ed[i].nt){
int v = tre.ed[i].v;
if(v==fa)continue;
res += gtsz(v,nw,tre);
}
tre.sz[nw] = res;
return res;
}
void cpt(int nw,int fa,Tree &tre,Tree &t2,int &ct,int t2f){
for(int i= tre.head[nw]; i ; i = tre.ed[i].nt){
int v = tre.ed[i].v;
if(v==fa)continue;
t2.id[++ct] = tre.id[v];
t2.add_edge(t2f,ct);
t2.add_edge(ct,t2f);
int uu = ct;
cpt(v,nw,tre,t2,ct,uu);
}
}
void copyTree(Tree& t1,Tree& t2,int nw,int fa,vector<int> &bz){//吧t1的nw的子树给t2
int sz = 1;
auto fd = [](vector<int> &vc,int x){
for(auto it:vc){
if(it==x)return 1;
}
return 0;
};
for(int i= t1.head[nw]; i ; i = t1.ed[i].nt){
int v = t1.ed[i].v;
if(v==fa)continue;
if(fd(bz,v))continue;
sz += gtsz(v,nw,t1);
}
t2.init(sz);
int ct = 1;
t2.id[1] = t1.id[nw];
for(int i= t1.head[nw]; i ; i = t1.ed[i].nt){
int v = t1.ed[i].v;
if(v==fa)continue;
if(fd(bz,v))continue;
t2.id[++ct] = t1.id[v];
t2.add_edge(1,ct);
t2.add_edge(ct,1);
int uu = ct;
cpt(v,nw,t1,t2,ct,uu);
}
}
int qe(int u,int v,Tree &tre){
cout<<"? "<<tre.id[u]<<' '<<tre.id[v]<<endl;
fflush(stdout);
int res;cin>>res;
return res;
}
int querry(Tree &tre){
if(tre.n==1){
return tre.id[1];
}
int zx = getzhong(tre);
vector<int> sn;
gtsz(zx,0,tre);
for(int i= tre.head[zx]; i ; i = tre.ed[i].nt){
sn.push_back(tre.ed[i].v);
}
sort(sn.begin(),sn.end(),[&tre](int a,int b){
return tre.sz[a]>tre.sz[b];
});
if(sn.size()==1){
Tree t2;
int uu = qe(zx,sn[0],tre);
if(uu==0){
return tre.id[zx];
}
vector<int> by;
copyTree(tre,t2,sn[0],zx,by);
return querry(t2);
}else if(sn.size()==2){
int uu = qe(sn[0],sn[1],tre);
if(uu==1)return tre.id[zx];
if(uu==2)swap(sn[0],sn[1]);
vector<int> bz;
Tree t2;
copyTree(tre,t2,sn[0],zx,bz);
return querry(t2);
}else if(sn.size()==3){
int uu = qe(sn[0],sn[1],tre);
if(uu==1){
vector<int> bz;bz.push_back(sn[1]);bz.push_back(sn[0]);
Tree t2;
copyTree(tre,t2,zx,0,bz);
return querry(t2);
}
if(uu==0){
vector<int> bz;
Tree t2;
copyTree(tre,t2,sn[0],zx,bz);
return querry(t2);
}
if(uu==2){
vector<int> bz;
Tree t2;
copyTree(tre,t2,sn[1],zx,bz);
return querry(t2);
}
}else if(sn.size()==0){
return tre.id[zx];
}
return -1;
}
void work(int shu){
int n;cin>>n;
Tree tre;
tre.init(n);
if(shu)cout<<n<<'\n';
for(int i = 1; i<= n ; ++i){
int l;cin>>l;if(shu)cout<<l;
if(l)tre.add_edge(i,l),tre.add_edge(l,i);
cin>>l;if(shu)cout<<l;
if(l)tre.add_edge(i,l),tre.add_edge(l,i);
}
for(int i = 1; i <= n ;++i)tre.id[i] = i;
int res = querry(tre);
cout<<"! "<<res<<endl;
fflush(stdout);
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
int t;cin>>t;
for(int i = 1; i<= t;++i){
work(0);
}
return 0;
}
/*
1
7
0 0
0 0
2 0
1 5
3 6
0 0
0 4
*/
/*
1
10
2 3
0 0
4 5
6 0
0 7
8 9
10 0
0 0
0 0
0 0
*/
/*
1
20
2 3
4 5
6 7
8 9
10 11
12 13
14 15
0 0
16 0
0 17
0 0
18 0
0 0
0 19
0 0
0 0
0 0
0 0
20 0
0 0
*/
/*
1
15
2 0
3 0
4 15
5 0
6 0
7 0
8 0
9 0
10 0
11 0
12 0
13 0
14 0
0 0
0 0
*/
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3640kb
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 ? 2 1 ! 1
result:
ok OK (2 test cases)
Test #2:
score: 0
Accepted
time: 73ms
memory: 3868kb
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 0 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 ? 3 5 ? 1 4 ? 3 2 ! 3 ? 1 6 ? 1 7 ? 5 1 ! 1 ? 2 5 ? 3 2 ! 2 ? 5 7 ? 1 4 ! 1 ? 1 5 ? 3 1 ! 1 ? 4 2 ? 3 4 ! 3 ? 2 3 ! 3 ? 2 1 ! 2 ? 3 2 ! 2 ? 2 6 ? 1 9 ? 10 9 ! 9 ? 2 1 ! 2 ? 9 5 ? 9 6 ? 1 9 ! 1 ? 5 8 ? 7 1 ? 5 3 ! 5 ? 9 3 ? 1 7 ? 9 2 ! 9 ? 2 1 ! 1 ? 4 3 ? 1 7 ! 7 ? 4 5 ? 2 3 ? 4...
result:
ok OK (5555 test cases)
Test #3:
score: 0
Accepted
time: 21ms
memory: 3856kb
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 0 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 0 0 9 7 0 4 0 2 0 1 0 0 0 8 0 9 0 5 0 6 0 2 0 2 10 9 0 6 0 8 0 7 0 0 0 10 0 2 0 4 0 5 0 1 0 0 0 2 11 2 0 10 0 6 0 9 0 0 ...
output:
? 2 1 ! 1 ? 3 1 ! 1 ? 1 3 ? 2 1 ! 2 ? 3 4 ? 2 4 ! 2 ? 1 2 ? 5 1 ! 5 ? 6 2 ? 7 6 ! 1 ? 1 6 ? 7 2 ? 1 7 ! 1 ? 9 1 ? 4 3 ? 1 4 ! 4 ? 6 7 ? 9 10 ? 5 9 ! 9 ? 9 2 ? 6 10 ? 2 10 ! 10 ? 9 2 ? 3 12 ? 9 3 ! 9 ? 3 2 ? 8 10 ? 3 8 ! 7 ? 4 13 ? 6 1 ? 5 6 ! 6 ? 14 2 ? 7 4 ? 2 4 ! 4 ? 1 15 ? 16 11 ? 6 1 ? 16 6 ! 16...
result:
ok OK (600 test cases)
Test #4:
score: 0
Accepted
time: 63ms
memory: 16424kb
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 ? 13737 93018 ? 4868 75560 ? 65796 40860 ? 49099 29199 ? 74859 87232 ? 67538 71202 ? 52208 44042 ? 87946 81537 ? 21526 10314 ? 84090 94751 ? 97430 24623 ? 62395 10895 ? 97430 62395 ! 62395 ? 44110 46352 ? 63067 47168 ? 38328 51576 ? 75910 60860 ? 42451 28720...
result:
ok OK (2 test cases)
Test #5:
score: 0
Accepted
time: 46ms
memory: 10004kb
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 ? 2 5 ! 5 ? 9 6 ? 8 5 ? 13 8 ! 13 ? 29 13 ? 2 16 ? 15 12 ? 11 15 ! 15 ? 8 37 ? 10 24 ? 57 12 ? 41 25 ? 12 25 ! 63 ? 89 36 ? 6 71 ? 101 116 ? 57 64 ? 44 25 ? 6 44 ! 44 ? 233 64 ? 246 68 ? 239 76 ? 34 110 ? 160 163 ? 212 57 ? 76 212 ! 76 ? 48 439 ? 437 468 ? 274 3 ? 425 25 ? 289 290 ? ...
result:
ok OK (15 test cases)
Test #6:
score: 0
Accepted
time: 46ms
memory: 9896kb
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 0 0 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 0 0 0 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:
? 2 1 ! 1 ? 1 2 ? 4 1 ! 4 ? 8 3 ? 1 2 ? 8 1 ! 1 ? 3 4 ? 5 15 ? 2 3 ? 5 2 ! 5 ? 12 30 ? 17 4 ? 10 23 ? 9 17 ? 10 9 ! 9 ? 60 3 ? 41 49 ? 37 31 ? 40 35 ? 62 37 ? 40 62 ! 40 ? 57 124 ? 48 58 ? 69 39 ? 31 37 ? 76 125 ? 14 31 ? 76 14 ! 76 ? 90 113 ? 91 222 ? 57 148 ? 68 231 ? 255 112 ? 135 81 ? 251 255 ? ...
result:
ok OK (16 test cases)
Test #7:
score: 0
Accepted
time: 40ms
memory: 10204kb
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 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:
? 2 1 ! 1 ? 1 3 ? 4 1 ! 1 ? 14 5 ? 6 12 ? 3 6 ! 11 ? 21 16 ? 5 8 ? 12 19 ? 10 12 ! 12 ? 60 10 ? 2 9 ? 6 25 ? 16 41 ? 6 41 ! 53 ? 70 84 ? 90 37 ? 99 75 ? 30 65 ? 106 98 ? 65 98 ! 65 ? 159 204 ? 47 235 ? 158 109 ? 30 23 ? 34 101 ? 24 97 ? 34 97 ! 97 ? 359 209 ? 139 137 ? 75 296 ? 416 260 ? 26 386 ? 24...
result:
ok OK (15 test cases)
Test #8:
score: 0
Accepted
time: 40ms
memory: 5736kb
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:
? 2 1 ! 1 ? 2 3 ! 3 ? 1 2 ? 3 1 ! 3 ? 2 5 ? 4 3 ! 4 ? 1 4 ? 3 5 ! 3 ? 4 1 ? 2 5 ! 4 ? 2 5 ? 2 1 ? 7 2 ! 7 ? 1 3 ? 4 5 ? 1 8 ! 8 ? 1 4 ? 10 9 ? 1 6 ! 6 ? 2 3 ? 10 11 ? 2 9 ! 9 ? 1 5 ? 4 8 ? 1 7 ! 7 ? 13 8 ? 12 6 ? 13 11 ! 12 ? 14 10 ? 3 8 ? 9 1 ! 9 ? 14 8 ? 2 5 ? 6 11 ! 11 ? 15 7 ? 15 14 ? 3 1 ? 15 1...
result:
ok OK (600 test cases)
Test #9:
score: 0
Accepted
time: 56ms
memory: 9868kb
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 ? 15463 18079 ? 41708 88632 ? 40612 63141 ? 54568 24579 ? 88436 96127 ? 59253 23667 ? 34342 71622 ? 49670 60263 ? 32332 79650 ? 53689 63598 ? 67237 92912 ? 71051 43075 ? 86868 78460 ! 78460 ? 72481 42261 ? 96633 84675 ? 81852 2124 ? 64228 84822 ? 57178 19229 ? 18837 76562...
result:
ok OK (2 test cases)
Test #10:
score: 0
Accepted
time: 31ms
memory: 7516kb
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 ? 5 1 ! 1 ? 5 15 ? 8 6 ? 7 3 ! 7 ? 17 29 ? 6 25 ? 31 15 ? 28 22 ! 22 ? 2 1 ? 40 57 ? 44 6 ? 62 35 ? 41 14 ! 35 ? 115 20 ? 48 45 ? 127 101 ? 29 78 ? 74 41 ? 31 116 ! 116 ? 140 70 ? 206 196 ? 152 135 ? 180 95 ? 62 187 ? 12 72 ? 27 183 ! 27 ? 121 60 ? 305 71 ? 106 308 ? 135 17 ? 66 120 ...
result:
ok OK (15 test cases)
Test #11:
score: 0
Accepted
time: 32ms
memory: 7340kb
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:
? 2 1 ! 1 ? 1 3 ? 2 1 ! 2 ? 5 7 ? 5 3 ? 2 5 ! 5 ? 1 6 ? 5 14 ? 11 7 ! 5 ? 32 3 ? 22 21 ? 20 28 ? 11 26 ! 26 ? 37 58 ? 19 40 ? 55 63 ? 4 18 ? 25 35 ! 18 ? 92 13 ? 92 57 ? 102 80 ? 108 48 ? 90 50 ? 119 117 ! 50 ? 245 3 ? 245 223 ? 131 150 ? 242 88 ? 179 151 ? 73 83 ? 85 14 ! 14 ? 39 511 ? 39 289 ? 33 ...
result:
ok OK (16 test cases)
Test #12:
score: 0
Accepted
time: 29ms
memory: 7304kb
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:
? 2 1 ! 1 ? 1 5 ? 6 4 ! 4 ? 12 4 ? 2 8 ? 7 1 ! 1 ? 17 26 ? 5 13 ? 30 14 ? 27 22 ! 27 ? 16 57 ? 36 43 ? 4 12 ? 22 15 ? 27 60 ! 60 ? 125 93 ? 17 123 ? 5 15 ? 10 84 ? 9 83 ? 65 101 ! 101 ? 241 224 ? 112 193 ? 124 88 ? 254 99 ? 110 162 ? 125 248 ? 84 219 ! 125 ? 284 376 ? 30 32 ? 159 98 ? 43 40 ? 328 78...
result:
ok OK (15 test cases)
Test #13:
score: 0
Accepted
time: 46ms
memory: 3716kb
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 0 0 11 9 6 4 1 0 0 0 0 11 ...
output:
? 2 1 ! 1 ? 3 1 ! 1 ? 1 3 ? 2 1 ! 2 ? 1 3 ? 4 5 ! 4 ? 5 4 ? 2 5 ! 2 ? 4 7 ? 5 6 ! 4 ? 7 3 ? 7 2 ? 4 7 ! 4 ? 4 1 ? 4 7 ? 6 4 ! 4 ? 2 1 ? 1 9 ? 3 1 ! 3 ? 10 1 ? 10 11 ? 8 5 ! 5 ? 4 7 ? 8 4 ? 5 4 ! 5 ? 2 4 ? 12 2 ? 7 12 ! 12 ? 12 8 ? 14 12 ? 2 12 ! 12 ? 14 9 ? 1 14 ? 15 11 ! 11 ? 1 6 ? 15 16 ? 15 14 ? ...
result:
ok OK (600 test cases)
Test #14:
score: 0
Accepted
time: 68ms
memory: 13484kb
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 ? 74496 96975 ? 90932 266 ? 99552 77780 ? 24315 12293 ? 74615 44540 ? 87219 24616 ? 14335 9478 ? 10014 80477 ? 14335 10014 ? 32846 10014 ! 32846 ? 50499 6749 ? 17715 75012 ? 31421 58179 ? 64768 20076 ? 98628 64370 ? 63...
result:
ok OK (2 test cases)
Test #15:
score: 0
Accepted
time: 34ms
memory: 8668kb
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:
? 3 1 ! 2 ? 2 5 ? 1 7 ! 2 ? 15 4 ? 1 15 ? 11 2 ! 1 ? 14 1 ? 10 18 ? 29 10 ? 30 13 ! 30 ? 38 44 ? 42 1 ? 2 9 ? 34 2 ? 23 5 ! 5 ? 51 31 ? 96 62 ? 100 8 ? 52 89 ? 82 52 ? 70 57 ! 70 ? 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: 39ms
memory: 10404kb
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:
? 2 1 ! 1 ? 2 4 ? 1 2 ! 1 ? 4 6 ? 4 1 ? 3 4 ! 4 ? 2 10 ? 4 11 ? 4 7 ? 1 4 ! 1 ? 1 31 ? 3 30 ? 21 1 ? 21 28 ? 13 21 ! 21 ? 56 43 ? 19 25 ? 55 36 ? 51 19 ? 51 50 ? 21 51 ! 21 ? 38 43 ? 17 53 ? 117 69 ? 113 45 ? 123 117 ? 123 109 ? 102 123 ! 102 ? 133 170 ? 75 121 ? 14 197 ? 1 90 ? 3 103 ? 95 1 ? 95 40...
result:
ok OK (16 test cases)
Test #17:
score: 0
Accepted
time: 39ms
memory: 9048kb
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:
? 2 1 ! 1 ? 6 2 ? 5 2 ! 5 ? 11 14 ? 7 14 ? 10 7 ! 10 ? 20 8 ? 15 26 ? 20 26 ? 13 20 ! 20 ? 59 42 ? 15 2 ? 52 16 ? 15 16 ? 30 16 ! 16 ? 17 40 ? 77 69 ? 74 20 ? 38 80 ? 74 80 ? 49 74 ! 74 ? 189 90 ? 224 65 ? 185 73 ? 82 42 ? 9 18 ? 42 18 ? 126 42 ! 126 ? 192 60 ? 285 44 ? 36 151 ? 451 435 ? 429 122 ? ...
result:
ok OK (15 test cases)
Test #18:
score: 0
Accepted
time: 59ms
memory: 9708kb
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: 262ms
memory: 3632kb
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