QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#61901#5020. 举办乘凉州喵,举办乘凉州谢谢喵AFewSuns7 2142ms228112kbC++145.9kb2022-11-15 21:07:492022-11-15 21:07:50

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-11-15 21:07:50]
  • 评测
  • 测评结果:7
  • 用时:2142ms
  • 内存:228112kb
  • [2022-11-15 21:07:49]
  • 提交

answer

#include<bits/stdc++.h>
#pragma GCC optimize(3)
using namespace std;
namespace my_std{
	#define ll int
	#define bl bool
	ll my_pow(ll a,ll b,ll mod){
		ll res=1;
		if(!b) return 1;
		while(b){
			if(b&1) res=(res*a)%mod;
			a=(a*a)%mod;
			b>>=1;
		}
		return res;
	}
	ll qpow(ll a,ll b){
		ll res=1;
		if(!b) return 1;
		while(b){
			if(b&1) res*=a;
			a*=a;
			b>>=1;
		}
		return res;
	}
	#define db double
	#define pf printf
	#define pc putchar
	#define fr(i,x,y) for(register ll i=(x);i<=(y);i++)
	#define pfr(i,x,y) for(register ll i=(x);i>=(y);i--)
	#define go(u) for(ll i=head[u];i;i=e[i].nxt)
	#define enter pc('\n')
	#define space pc(' ')
	#define fir first
	#define sec second
	#define MP make_pair
	#define il inline
	#define inf 2e9
	#define random(x) rand()*rand()%(x)
	#define inv(a,mod) my_pow((a),(mod-2),(mod))
	il ll read(){
		ll sum=0,f=1;
		char ch=0;
		while(!isdigit(ch)){
			if(ch=='-') f=-1;
			ch=getchar();
		}
		while(isdigit(ch)){
			sum=sum*10+(ch^48);
			ch=getchar();
		}
		return sum*f;
	}
	il void write(ll x){
		if(x<0){
			x=-x;
			pc('-');
		}
		if(x>9) write(x/10);
		pc(x%10+'0');
	}
	il void writeln(ll x){
		write(x);
		enter;
	}
	il void writesp(ll x){
		write(x);
		space;
	}
}
using namespace my_std;
#define LC lc[x]
#define RC rc[x]
vector<pair<ll,ll> > q1[200020],q2[200020],q3[200020];
ll n,m,head[200020],cnt=0;
ll siz[200020],wson[200020],top[200020],f[200020],dep[200020];
ll rt[200020],tree[5000050],lc[5000050],rc[5000050],tot=0;
ll RT,rsiz,minn,tr[200020],son[200020],tott=0;
bl ck[200020];
struct edge{
	ll nxt,to;
}e[400040];
struct node{
	ll x,y,lca,d,ans;
}q[200020];
void add(ll u,ll v){
	e[++cnt].nxt=head[u];
	e[cnt].to=v;
	head[u]=cnt;
}
void dfs1(ll fa,ll u){
	f[u]=fa;
	dep[u]=dep[fa]+1;
	siz[u]=1;
	go(u){
		ll v=e[i].to;
		if(v==fa) continue;
		dfs1(u,v);
		if(siz[v]>siz[wson[u]]) wson[u]=v;
		siz[u]+=siz[v];
	}
}
void dfs2(ll u,ll topp){
	top[u]=topp;
	if(wson[u]) dfs2(wson[u],topp);
	go(u){
		ll v=e[i].to;
		if(v==f[u]) continue;
		if(v!=wson[u]) dfs2(v,v);
	}
}
ll get_lca(ll x,ll y){
	while(top[x]!=top[y]){
		if(dep[top[x]]<dep[top[y]]) swap(x,y);
		x=f[top[x]];
	}
	if(dep[x]>dep[y]) swap(x,y);
	return x;
}
void addtag(ll x,ll id,ll v){
	if(!x) return;
	q[id].ans+=v*dep[x];
	if(wson[x]) q1[wson[x]].push_back(MP(id,v));
	while(x){
		q2[x].push_back(MP(id,v));
		if(f[top[x]]){
			q1[top[x]].push_back(MP(id,-v));
			q1[wson[f[top[x]]]].push_back(MP(id,v));
		}
		x=f[top[x]];
	}
}
void pushup(ll x){
	tree[x]=tree[LC]+tree[RC];
}
void mdf(ll &x,ll l,ll r,ll pos){
	if(!x) x=++tot;
	if(l==r){
		tree[x]++;
		return;
	}
	ll mid=(l+r)>>1;
	if(pos<=mid) mdf(LC,l,mid,pos);
	else mdf(RC,mid+1,r,pos);
	pushup(x);
}
ll query(ll x,ll l,ll r,ll ql,ll qr){
	if(!x||ql>qr) return 0;
	if(ql<=l&&r<=qr) return tree[x];
	ll mid=(l+r)>>1,res=0;
	if(ql<=mid) res+=query(LC,l,mid,ql,qr);
	if(mid<qr) res+=query(RC,mid+1,r,ql,qr);
	return res;
}
ll merge(ll x,ll y,ll l,ll r){
	if(!x) return y;
	if(!y) return x;
	if(l==r){
		tree[x]+=tree[y];
		return x;
	}
	ll mid=(l+r)>>1;
	LC=merge(LC,lc[y],l,mid);
	RC=merge(RC,rc[y],mid+1,r);
	pushup(x);
	return x;
}
il ll lowbit(ll x){
	return x&(-x);
}
il void mdf(ll x,ll v){
	while(x<=n){
		tr[x]+=v;
		x+=lowbit(x);
	}
}
il ll query(ll x){
	ll res=0;
	while(x){
		res+=tr[x];
		x-=lowbit(x);
	}
	return res;
}
void solve1(ll fa,ll u){
	mdf(rt[u],1,n,dep[u]);
	go(u){
		ll v=e[i].to;
		if(v==fa) continue;
		solve1(u,v);
		rt[u]=merge(rt[u],rt[v],1,n);
	}
	fr(i,0,(ll)q1[u].size()-1){
		ll id=q1[u][i].fir,v=q1[u][i].sec;
		if(!q[id].d) continue;
		q[id].ans+=v*query(rt[u],1,n,1,min(n,dep[u]+q[id].d-1));
	}
}
void dfs(ll fa,ll u,ll now,ll t){
	mdf(now,t);
	go(u){
		ll v=e[i].to;
		if(v==fa) continue;
		dfs(u,v,now+1,t);
	}
}
void solve2(ll fa,ll u){
	go(u){
		ll v=e[i].to;
		if(v==fa) continue;
		if(v!=wson[u]) dfs(u,v,1,1);
	}
	fr(i,0,(ll)q2[u].size()-1){
		ll id=q2[u][i].fir,v=q2[u][i].sec;
		q[id].ans+=v*query(min(n,q[id].d));
	}
	if(wson[u]) solve2(u,wson[u]);
	go(u){
		ll v=e[i].to;
		if(v==fa) continue;
		if(v!=wson[u]) dfs(u,v,1,-1);
	}
}
void getroot(ll fa,ll u){
	siz[u]=1;
	ll maxx=0;
	go(u){
		ll v=e[i].to;
		if(v==fa||ck[v]) continue;
		getroot(u,v);
		siz[u]+=siz[v];
		maxx=max(maxx,siz[v]);
	}
	maxx=max(maxx,rsiz-siz[u]);
	if(maxx<minn){
		minn=maxx;
		RT=u;
	}
}
void dfs3(ll fa,ll u){
	dep[u]=dep[fa]+1;
	siz[u]=1;
	fr(i,0,(ll)q3[u].size()-1){
		ll id=q3[u][i].fir;
		if((q[id].d+2-dep[u])>=0) q[id].ans+=query(q[id].d+2-dep[u]);
	}
	go(u){
		ll v=e[i].to;
		if(v==fa) continue;
		dfs3(u,v);
		siz[u]+=siz[v];
	}
}
void dfs4(ll fa,ll u,ll t){
	mdf(dep[u],t);
	go(u){
		ll v=e[i].to;
		if(v==fa) continue;
		dfs4(u,v,t);
	}
}
void solve(ll fa,ll u){
	ck[u]=1;
	dep[u]=1;
	mdf(dep[u],1);
	tott=0;
	go(u){
		ll v=e[i].to;
		if(v==fa||ck[v]) continue;
		son[++tott]=v;
		dfs3(u,v);
		dfs4(u,v,1);
	}
	fr(i,0,(ll)q3[u].size()-1){
		ll id=q3[u][i].fir;
		if((q[id].d+2-dep[u])>=0) q[id].ans+=query(q[id].d+2-dep[u]);
	}
	fr(i,1,tott) dfs4(u,son[i],-1);
	mdf(dep[u],-1);
	pfr(i,tott,1){
		ll v=son[i];
		dfs3(u,v);
		dfs4(u,v,1);
	}
	fr(i,1,tott) dfs4(u,son[i],-1);
	go(u){
		ll v=e[i].to;
		if(v==fa||ck[v]) continue;
		minn=inf;
		rsiz=siz[v];
		getroot(u,v);
		solve(u,v);
	}
}
int main(){
	n=read();
	fr(i,2,n){
		ll u=read(),v=read();
		add(u,v);
		add(v,u);
	}
	dfs1(0,1);
	dfs2(1,1);
	m=read();
	fr(i,1,m){
		q[i].x=read();
		q[i].y=read();
		q[i].d=read();
		q[i].lca=get_lca(q[i].x,q[i].y);
		addtag(q[i].x,i,1);
		addtag(q[i].y,i,1);
		addtag(q[i].lca,i,-2);
		q3[q[i].lca].push_back(MP(i,1));
	}
	solve1(0,1);
	fr(i,1,n) if(top[i]==i) solve2(f[i],i);
	minn=inf;
	rsiz=n;
	getroot(0,1);
	solve(0,RT);
	fr(i,1,m) writeln(q[i].ans);
}

详细

Subtask #1:

score: 7
Accepted

Test #1:

score: 7
Accepted
time: 24ms
memory: 19844kb

input:

4988
1 2
1 3
1 4
4 5
1 6
3 7
3 8
5 9
4 10
6 11
3 12
9 13
11 14
8 15
11 16
1 17
7 18
8 19
18 20
7 21
10 22
15 23
18 24
4 25
24 26
9 27
23 28
3 29
3 30
30 31
11 32
18 33
2 34
32 35
29 36
29 37
19 38
9 39
6 40
25 41
16 42
31 43
6 44
42 45
32 46
27 47
32 48
44 49
7 50
10 51
24 52
46 53
30 54
46 55
39 56...

output:

3226
2028
4988
208
252
3970
3886
2013
4974
2118
308
391
4768
312
4954
4988
4974
1551
4981
12
1856
4825
4974
4974
19
82
4960
4680
208
4870
474
3693
808
1880
213
3394
1203
266
84
4822
3334
70
81
4501
4960
668
4866
4974
113
490
75
163
209
2159
4981
4143
100
3168
232
66
4864
525
4958
390
4713
2305
15
49...

result:

ok 4966 numbers

Test #2:

score: 0
Accepted
time: 12ms
memory: 20440kb

input:

4914
1 2
1 3
2 4
2 5
3 6
3 7
4 8
4 9
5 10
5 11
6 12
6 13
7 14
7 15
8 16
8 17
9 18
9 19
10 20
10 21
11 22
11 23
12 24
12 25
13 26
13 27
14 28
14 29
15 30
15 31
16 32
16 33
17 34
17 35
18 36
18 37
19 38
19 39
20 40
20 41
21 42
21 43
22 44
22 45
23 46
23 47
24 48
24 49
25 50
25 51
26 52
26 53
27 54
27 ...

output:

3378
4914
231
4914
4914
3378
22
4914
4914
2559
4914
75
219
1407
1138
863
24
3890
4914
4914
399
399
13
139
77
4914
4095
3071
4914
23
151
110
1407
43
54
4914
4914
1919
2559
77
735
3071
24
133
479
4914
33
831
4
4914
4914
79
4914
199
3890
3071
73
567
15
75
21
126
4914
4914
203
4914
75
127
62
41
4914
409...

result:

ok 4975 numbers

Test #3:

score: 0
Accepted
time: 505ms
memory: 19580kb

input:

4921
1151 2767
2767 322
322 4451
4451 4867
4867 1265
1265 3197
3197 3890
3890 1052
1052 1407
1407 1578
1578 566
566 2965
2965 260
260 4908
4908 308
308 553
553 2845
2845 4249
4249 1284
1284 73
73 1088
1088 277
277 1878
1878 4128
4128 3609
3609 2126
2126 149
149 3467
3467 1653
1653 4913
4913 3604
360...

output:

4921
3192
3260
3983
949
2080
605
3471
4901
2020
2552
1570
3325
3643
458
1296
3072
3423
3045
2569
1720
3195
1908
4397
1536
2799
3072
2443
3176
3311
1403
1119
842
3028
2387
1903
2303
4921
2149
1974
4153
2053
2888
2344
3264
3709
3443
3601
2571
1207
4519
3745
959
1920
1305
1706
1743
522
1266
2153
1812
1...

result:

ok 4930 numbers

Test #4:

score: 0
Accepted
time: 737ms
memory: 19532kb

input:

4942
877 4180
4180 4409
4409 2233
2233 3491
3491 3459
3459 4501
4501 2192
2192 3539
3539 4379
4379 4346
4346 1553
1553 2100
2100 3426
3426 3461
3461 811
811 2981
2981 1493
1493 610
610 599
599 1741
1741 3216
3216 1646
1646 1016
1016 3757
3757 2570
2570 2900
2900 4649
4649 1014
1014 538
538 4288
4288...

output:

4236
3338
4942
4942
4942
4942
1551
1272
3885
4140
4942
3627
3132
3991
3157
4024
4942
4942
3761
3064
238
4942
4942
4942
4942
4942
2256
4942
649
4496
4942
4942
4491
866
4208
4942
4942
4726
4942
4462
4942
4942
4234
2676
2593
4942
4088
4942
2704
3344
3560
4942
4942
4461
4511
4634
3437
2884
3842
4942
494...

result:

ok 4910 numbers

Test #5:

score: 0
Accepted
time: 205ms
memory: 19660kb

input:

4996
1 2
2 3
1 4
4 5
4 6
3 7
4 8
8 9
3 10
9 11
5 12
7 13
12 14
8 15
8 16
14 17
10 18
15 19
17 20
15 21
19 22
21 23
14 24
20 25
25 26
21 27
20 28
19 29
29 30
24 31
31 32
29 33
27 34
34 35
31 36
27 37
30 38
35 39
38 40
37 41
34 42
41 43
43 44
42 45
36 46
37 47
47 48
47 49
41 50
50 51
46 52
50 53
51 54...

output:

4869
3419
3000
4640
4996
4996
3854
4165
4542
4996
1758
3584
3011
4996
4996
4383
2064
4199
2786
2470
4759
4996
4657
4157
2443
2594
1823
3215
1635
3908
1903
3207
2153
4448
4996
4996
3071
2649
3452
4996
1235
1599
2732
2244
2311
4618
1250
4577
3498
4941
1058
3498
3539
3415
907
4170
4996
4144
2235
2664
4...

result:

ok 4952 numbers

Test #6:

score: 0
Accepted
time: 360ms
memory: 19468kb

input:

4935
1 2
1 3
4 2
5 2
6 4
7 4
8 6
9 6
10 8
11 8
12 10
13 10
14 12
15 12
16 14
17 14
18 16
19 16
20 18
21 18
22 20
23 20
24 22
25 22
26 24
27 24
28 26
29 26
30 28
31 28
32 30
33 30
34 32
35 32
36 34
37 34
38 36
39 36
40 38
41 38
42 40
43 40
44 42
45 42
46 44
47 44
48 46
49 46
50 48
51 48
52 50
53 50
5...

output:

4442
4133
346
3268
4850
3512
3312
3581
4092
4655
2256
3950
3157
3480
4935
4188
4935
1593
1135
4935
4935
4875
4108
3771
4158
4935
4935
3156
3148
1814
4935
3368
4303
2861
4917
2370
3992
4764
2772
4935
4935
2640
4935
4691
2291
4268
1798
4530
3058
3219
4935
3141
4935
2699
4547
2164
2495
3049
370
3409
21...

result:

ok 4992 numbers

Test #7:

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

input:

4919
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 11
11 12
12 13
13 14
14 15
15 16
16 17
17 18
18 19
19 20
20 21
21 22
22 23
23 24
24 25
25 26
26 27
27 28
28 29
29 30
30 31
31 32
32 33
33 34
34 35
35 36
36 37
37 38
38 39
39 40
40 41
41 42
42 43
43 44
44 45
45 46
46 47
47 48
48 49
49 50
50 51
51 52
52 53
...

output:

2653
3219
4302
1418
1713
713
3341
647
487
1508
971
4851
4443
3078
2380
2267
4171
18
2056
1833
3136
817
4375
4103
3423
433
3967
725
282
2358
4171
1680
3350
2403
802
1855
137
2091
3731
1061
581
1273
4783
133
1911
4239
4233
678
3127
3481
284
1896
435
593
4781
103
4647
1615
1231
2689
574
1833
4783
645
4...

result:

ok 4980 numbers

Test #8:

score: 0
Accepted
time: 54ms
memory: 19744kb

input:

4973
1 4517
2 744
3 1115
4 3191
5 4186
6 4608
7 3898
8 3939
9 1998
10 2287
11 2277
12 4200
13 4935
14 3955
15 3683
16 278
17 547
18 3351
19 2642
20 4050
21 3457
22 2337
23 3435
24 1476
25 4853
26 3985
27 736
28 3016
29 4840
30 3866
31 4567
32 4067
33 3724
34 1872
35 1533
36 4787
37 53
38 1632
39 295...

output:

91
2487
2646
1791
2447
3327
532
1801
1079
1526
1236
77
4028
3401
4103
1573
3540
1641
452
52
2497
3128
2593
734
1293
3213
1786
1626
2130
2033
1935
2673
1758
1838
1284
758
2952
301
947
2875
3073
1462
2615
2842
3561
1969
1416
3088
2476
1082
696
3665
2041
3263
3063
2988
1402
1050
2967
3696
2309
3767
281...

result:

ok 4982 numbers

Subtask #2:

score: 0
Time Limit Exceeded

Test #9:

score: 8
Accepted
time: 2077ms
memory: 165408kb

input:

199995
1 2
2 3
2 4
1 5
3 6
5 7
6 8
4 9
2 10
5 11
5 12
1 13
1 14
1 15
13 16
1 17
10 18
16 19
11 20
8 21
17 22
4 23
19 24
7 25
22 26
8 27
14 28
1 29
9 30
3 31
3 32
21 33
19 34
26 35
34 36
5 37
29 38
22 39
5 40
13 41
28 42
8 43
35 44
22 45
14 46
12 47
32 48
11 49
8 50
18 51
23 52
18 53
4 54
6 55
10 56
...

output:

757
69428
2793
181264
91707
182
32496
199183
6399
15975
11640
119051
236
689
15
9532
41
36592
178936
56
45424
193403
90248
3417
949
68
34133
60471
199861
188090
75088
127
1
6
4
3
3
11
61157
199860
199153
155706
196287
192862
53742
51862
179199
428
196282
199989
3613
26
99007
134461
198159
20382
7518...

result:

ok 199996 numbers

Test #10:

score: 0
Accepted
time: 2142ms
memory: 228112kb

input:

199993
1 2
1 3
2 4
2 5
3 6
3 7
4 8
4 9
5 10
5 11
6 12
6 13
7 14
7 15
8 16
8 17
9 18
9 19
10 20
10 21
11 22
11 23
12 24
12 25
13 26
13 27
14 28
14 29
15 30
15 31
16 32
16 33
17 34
17 35
18 36
18 37
19 38
19 39
20 40
20 41
21 42
21 43
22 44
22 45
23 46
23 47
24 48
24 49
25 50
25 51
26 52
26 53
27 54
2...

output:

22
31743
62
30
510
6079
94
24063
190
4079
382
30
62
12159
1022
2043
8063
62
4
3063
4079
30
254
46
10
22
6111
12159
16127
22
1
12031
1
94
382
766
4063
254
46
766
1022
62
766
1
22
46
30
8063
8063
254
3063
22
62
30
1
62
254
4
10
15871
1022
46
2039
6079
22
254
1022
16127
30
766
8127
14
14
10
46
1
62
406...

result:

ok 199995 numbers

Test #11:

score: -8
Time Limit Exceeded

input:

199993
25163 125238
125238 19096
19096 88864
88864 113505
113505 12722
12722 56225
56225 8736
8736 74926
74926 38529
38529 80231
80231 19719
19719 198784
198784 75213
75213 190174
190174 163340
163340 62363
62363 144160
144160 130912
130912 3919
3919 21218
21218 85281
85281 187312
187312 79930
79930...

output:


result:


Subtask #3:

score: 0
Skipped

Dependency #2:

0%

Subtask #4:

score: 0
Time Limit Exceeded

Test #25:

score: 22
Accepted
time: 1712ms
memory: 142924kb

input:

199991
1 2
2 3
3 4
3 5
5 6
3 7
1 8
8 9
8 10
10 11
1 12
1 13
13 14
4 15
12 16
13 17
17 18
8 19
3 20
9 21
16 22
10 23
1 24
7 25
6 26
12 27
4 28
21 29
27 30
30 31
21 32
19 33
20 34
17 35
7 36
13 37
24 38
37 39
30 40
31 41
15 42
9 43
32 44
41 45
18 46
38 47
8 48
35 49
13 50
35 51
47 52
35 53
48 54
44 55...

output:

78
107329
190250
5672
110415
199160
3826
96672
75
13429
149
58
704
199639
25
190454
489
198350
197627
10273
172193
192719
99
191654
80328
481
195140
170809
120515
290
199616
719
142
195166
2607
20737
135444
199768
2433
164666
180527
198261
14511
53672
69060
185790
110874
639
131
2130
188357
150164
2...

result:

ok 199996 numbers

Test #26:

score: 0
Accepted
time: 1781ms
memory: 188400kb

input:

199992
1 2
1 3
2 4
2 5
3 6
3 7
4 8
4 9
5 10
5 11
6 12
6 13
7 14
7 15
8 16
8 17
9 18
9 19
10 20
10 21
11 22
11 23
12 24
12 25
13 26
13 27
14 28
14 29
15 30
15 31
16 32
16 33
17 34
17 35
18 36
18 37
19 38
19 39
20 40
20 41
21 42
21 43
22 44
22 45
23 46
23 47
24 48
24 49
25 50
25 51
26 52
26 53
27 54
2...

output:

1471
48440
199992
231
2687
31
114687
114687
13823
114
106495
163839
783
25599
199992
12799
73727
199992
431
196607
26623
414
27960
22
11135
60728
7551
167224
199992
231
199992
77823
25599
199992
15359
163839
15359
167224
113
4735
1439
45055
163839
391
56632
2159
24063
65
1439
383
62
57
1327
163839
4...

result:

ok 199992 numbers

Test #27:

score: -22
Time Limit Exceeded

input:

199999
3860 158798
158798 118869
118869 87485
87485 146359
146359 191153
191153 55478
55478 180863
180863 50335
50335 96889
96889 48813
48813 98038
98038 187938
187938 87677
87677 134328
134328 38608
38608 80793
80793 70631
70631 193550
193550 97635
97635 158355
158355 67072
67072 186681
186681 1915...

output:


result:


Subtask #5:

score: 0
Time Limit Exceeded

Dependency #1:

100%
Accepted

Test #33:

score: 20
Accepted
time: 269ms
memory: 46188kb

input:

49994
1 2
1 3
1 4
4 5
4 6
2 7
5 8
2 9
5 10
3 11
11 12
5 13
2 14
5 15
14 16
15 17
15 18
11 19
7 20
2 21
1 22
21 23
15 24
22 25
16 26
22 27
16 28
11 29
17 30
21 31
3 32
22 33
3 34
33 35
34 36
17 37
22 38
21 39
22 40
11 41
14 42
30 43
42 44
27 45
41 46
21 47
5 48
17 49
40 50
31 51
23 52
40 53
17 54
39 ...

output:

49991
27842
12698
41582
41674
49129
139
49931
49986
49966
33701
41907
520
7
49823
37296
45378
43279
22
45415
43709
139
1658
12239
1106
48337
42014
49964
1603
49935
1295
38134
484
49771
13800
36652
12183
1503
49825
148
49211
195
46766
38915
49990
26440
26888
1176
140
37080
8196
5750
49964
49612
49935...

result:

ok 49997 numbers

Test #34:

score: 0
Accepted
time: 277ms
memory: 55728kb

input:

49994
1 2
1 3
2 4
2 5
3 6
3 7
4 8
4 9
5 10
5 11
6 12
6 13
7 14
7 15
8 16
8 17
9 18
9 19
10 20
10 21
11 22
11 23
12 24
12 25
13 26
13 27
14 28
14 29
15 30
15 31
16 32
16 33
17 34
17 35
18 36
18 37
19 38
19 39
20 40
20 41
21 42
21 43
22 44
22 45
23 46
23 47
24 48
24 49
25 50
25 51
26 52
26 53
27 54
27...

output:

13823
49994
49994
24
367
48
19455
367
2175
6655
1215
3839
17407
9727
49994
28671
49994
3039
49994
49151
1071
3839
3839
49994
1215
49994
671
3839
49994
591
3711
49994
15359
49994
28
2175
367
28671
10751
49994
11263
98
107
41802
4543
199
36863
49994
49994
1183
367
49151
40959
1071
2111
6655
11263
1927...

result:

ok 49997 numbers

Test #35:

score: -20
Time Limit Exceeded

input:

49992
18276 49801
49801 29872
29872 18038
18038 5160
5160 47615
47615 9368
9368 48020
48020 18919
18919 22293
22293 28784
28784 26366
26366 16335
16335 996
996 28965
28965 7132
7132 9570
9570 22976
22976 16634
16634 22619
22619 28051
28051 11004
11004 1360
1360 41340
41340 43214
43214 24436
24436 46...

output:


result:


Subtask #6:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

0%