Submission #978810

# Submission time Handle Problem Language Result Execution time Memory
978810 2024-05-09T17:47:42 Z MilosMilutinovic JOI tour (JOI24_joitour) C++17
100 / 100
2307 ms 425724 KB
#include "joitour.h"

#define pb push_back
#define fi first
#define se second
#define mp make_pair
 
using namespace std;
 
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef long double ld;
 
template <typename T> bool chkmin(T &x,T y){return x>y?x=y,1:0;}
template <typename T> bool chkmax(T &x,T y){return x<y?x=y,1:0;}

int n,tot,ct;
int a[200005],v[400005],nxt[400005],h[200005],sz[200005],dfn[200005][20],dfo[200005][20],c[200005][3],cnt[200005][20][3],dep[200005],cf[200005][20],cr[200005][20];
bool vis[200005];
ll ans,cc[200005][3],ca[200005],pa[200005][20][3],sp[200005][3],pd[200005];

void addedge(int x,int y){
	v[++tot]=y; nxt[tot]=h[x]; h[x]=tot;
	v[++tot]=x; nxt[tot]=h[y]; h[y]=tot;
}

struct fenwick{
	int val[8000005];
	fenwick(){
		for(int i=1;i<=8000000;i++) val[i]=0;
	}
	void change(int p,int v){
		for(;p<=8000000;p+=p&-p) val[p]+=v;
	}
	int ask(int p){
		int v=0;
		for(;p;p-=p&-p) v+=val[p];
		return v;
	}
	int ask(int l,int r){
		return ask(r)-ask(l-1);
	}
}sub[3],up[3];

void dfs1(int x,int f){
	sz[x]=1;
	for(int p=h[x];p;p=nxt[p]){
		if(v[p]==f||vis[v[p]]) continue;
		dfs1(v[p],x);
		sz[x]+=sz[v[p]];
	}
}

int dfs2(int x,int f,int k){
	for(int p=h[x];p;p=nxt[p]){
		if(vis[v[p]]||v[p]==f||sz[v[p]]*2<k) continue;
		return dfs2(v[p],x,k);
	}
	return x;
}

void dfs3(int x,int f,int d,int rt,int r){
	cf[x][d]=rt;
	cr[x][d]=r;
	c[rt][a[x]]++;
	cnt[r][d][a[x]]++;
	dfn[x][d]=++ct;
	for(int p=h[x];p;p=nxt[p]){
		if(v[p]==f||vis[v[p]]) continue;
		dfs3(v[p],x,d,rt,r);
	}
	dfo[x][d]=++ct;
	if(a[x]==1){
		pa[r][d][0]+=sub[0].ask(dfn[x][d]+1,dfo[x][d]);
		sp[rt][0]+=sub[0].ask(dfn[x][d]+1,dfo[x][d]);
		pa[r][d][2]+=sub[2].ask(dfn[x][d]+1,dfo[x][d]);
		sp[rt][2]+=sub[2].ask(dfn[x][d]+1,dfo[x][d]);
	}
	up[a[x]].change(dfn[x][d],1);
	up[a[x]].change(dfo[x][d],-1);
	sub[a[x]].change(dfn[x][d],1);
}

void build(int x,int d){
	dfs1(x,x);
	x=dfs2(x,x,sz[x]);
	vis[x]=true;
	cf[x][d]=x;
	dep[x]=d;
	dfn[x][d]=++ct;
	for(int p=h[x];p;p=nxt[p]){
		if(vis[v[p]]) continue;
		dfs3(v[p],x,d,x,v[p]);
	}
	for(int p=h[x];p;p=nxt[p]){
		if(vis[v[p]]) continue;
		ans+=pa[v[p]][d][0]*1ll*(c[x][2]-cnt[v[p]][d][2]);
		ans+=pa[v[p]][d][2]*1ll*(c[x][0]-cnt[v[p]][d][0]);
		pd[x]+=(c[x][0]-cnt[v[p]][d][0])*1ll*cnt[v[p]][d][2];
		pd[x]+=(c[x][2]-cnt[v[p]][d][2])*1ll*cnt[v[p]][d][0];
	}
	dfo[x][d]=++ct;
	if(a[x]==0) ans+=sp[x][2];
	if(a[x]==1) ans+=pd[x]/2;
	if(a[x]==2) ans+=sp[x][0];
	for(int p=h[x];p;p=nxt[p]) if(!vis[v[p]]) build(v[p],d+1);
}

void init(int n,vector<int> f,vector<int> u,vector<int> v,int q){
	::n=n;
	for(int i=0;i+1<n;i++) addedge(u[i],v[i]);
	for(int i=0;i<n;i++) a[i]=f[i];
	build(0,0);
}

void change(int x,int y){
	if(a[x]==y) return;
	for(int d=0;d<=dep[x];d++){
		if(cf[x][d]==x){
			if(a[x]==0) ans-=sp[x][2];
			if(a[x]==1) ans-=pd[x]/2;
			if(a[x]==2) ans-=sp[x][0];
			if(y==0) ans+=sp[x][2];
			if(y==1) ans+=pd[x]/2;
			if(y==2) ans+=sp[x][0];
			continue;
		}
		if(a[cf[x][d]]==0) ans-=sp[cf[x][d]][2];
		if(a[cf[x][d]]==1) ans-=pd[cf[x][d]]/2;
		if(a[cf[x][d]]==2) ans-=sp[cf[x][d]][0];
		if(a[x]==1){
			ans-=sub[0].ask(dfn[x][d]+1,dfo[x][d])*1ll*(c[cf[x][d]][2]-cnt[cr[x][d]][d][2]);
			ans-=sub[2].ask(dfn[x][d]+1,dfo[x][d])*1ll*(c[cf[x][d]][0]-cnt[cr[x][d]][d][0]);
			sp[cf[x][d]][0]-=sub[0].ask(dfn[x][d]+1,dfo[x][d]);	
			sp[cf[x][d]][2]-=sub[2].ask(dfn[x][d]+1,dfo[x][d]);
			pa[cr[x][d]][d][0]-=sub[0].ask(dfn[x][d]+1,dfo[x][d]);
			pa[cr[x][d]][d][2]-=sub[2].ask(dfn[x][d]+1,dfo[x][d]);
		}else{
			ans-=up[1].ask(dfn[x][d])*1ll*(c[cf[x][d]][2-a[x]]-cnt[cr[x][d]][d][2-a[x]]);
			ans-=sp[cf[x][d]][2-a[x]]-pa[cr[x][d]][d][2-a[x]];
			sp[cf[x][d]][a[x]]-=up[1].ask(dfn[x][d]);
			pa[cr[x][d]][d][a[x]]-=up[1].ask(dfn[x][d]);
			pd[cf[x][d]]-=(c[cf[x][d]][2-a[x]]-cnt[cr[x][d]][d][2-a[x]])*2;
		}
		c[cf[x][d]][a[x]]-=1;
		cnt[cr[x][d]][d][a[x]]-=1;
		sub[a[x]].change(dfn[x][d],-1);
		up[a[x]].change(dfn[x][d],-1);
		up[a[x]].change(dfo[x][d],+1);
		if(y==1){
			ans+=sub[0].ask(dfn[x][d]+1,dfo[x][d])*1ll*(c[cf[x][d]][2]-cnt[cr[x][d]][d][2]);
			ans+=sub[2].ask(dfn[x][d]+1,dfo[x][d])*1ll*(c[cf[x][d]][0]-cnt[cr[x][d]][d][0]);
			sp[cf[x][d]][0]+=sub[0].ask(dfn[x][d]+1,dfo[x][d]);	
			sp[cf[x][d]][2]+=sub[2].ask(dfn[x][d]+1,dfo[x][d]);
			pa[cr[x][d]][d][0]+=sub[0].ask(dfn[x][d]+1,dfo[x][d]);
			pa[cr[x][d]][d][2]+=sub[2].ask(dfn[x][d]+1,dfo[x][d]);
		}else{
			ans+=up[1].ask(dfn[x][d])*1ll*(c[cf[x][d]][2-y]-cnt[cr[x][d]][d][2-y]);
			ans+=sp[cf[x][d]][2-y]-pa[cr[x][d]][d][2-y];
			sp[cf[x][d]][y]+=up[1].ask(dfn[x][d]);
			pa[cr[x][d]][d][y]+=up[1].ask(dfn[x][d]);
			pd[cf[x][d]]+=(c[cf[x][d]][2-y]-cnt[cr[x][d]][d][2-y])*2;
		}
		c[cf[x][d]][y]+=1;
		cnt[cr[x][d]][d][y]+=1;
		sub[y].change(dfn[x][d],+1);
		up[y].change(dfn[x][d],+1);
		up[y].change(dfo[x][d],-1);
		if(a[cf[x][d]]==0) ans+=sp[cf[x][d]][2];
		if(a[cf[x][d]]==1) ans+=pd[cf[x][d]]/2;
		if(a[cf[x][d]]==2) ans+=sp[cf[x][d]][0];
	}
	a[x]=y;
}

ll num_tours(){return ans;}
# Verdict Execution time Memory Grader output
1 Correct 31 ms 205648 KB Output is correct
2 Correct 25 ms 205736 KB Output is correct
3 Correct 27 ms 207704 KB Output is correct
4 Correct 29 ms 207692 KB Output is correct
5 Correct 26 ms 205656 KB Output is correct
6 Correct 26 ms 205912 KB Output is correct
7 Correct 26 ms 207684 KB Output is correct
8 Correct 27 ms 205764 KB Output is correct
9 Correct 28 ms 207696 KB Output is correct
10 Correct 27 ms 207920 KB Output is correct
11 Correct 27 ms 205648 KB Output is correct
12 Correct 28 ms 207852 KB Output is correct
13 Correct 25 ms 205648 KB Output is correct
14 Correct 25 ms 207704 KB Output is correct
15 Correct 26 ms 207704 KB Output is correct
16 Correct 27 ms 205656 KB Output is correct
17 Correct 29 ms 207620 KB Output is correct
18 Correct 30 ms 207640 KB Output is correct
19 Correct 27 ms 207696 KB Output is correct
20 Correct 26 ms 205648 KB Output is correct
21 Correct 26 ms 207704 KB Output is correct
22 Correct 27 ms 207628 KB Output is correct
23 Correct 26 ms 207744 KB Output is correct
24 Correct 27 ms 207696 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 31 ms 205648 KB Output is correct
2 Correct 25 ms 205736 KB Output is correct
3 Correct 27 ms 207704 KB Output is correct
4 Correct 29 ms 207692 KB Output is correct
5 Correct 26 ms 205656 KB Output is correct
6 Correct 26 ms 205912 KB Output is correct
7 Correct 26 ms 207684 KB Output is correct
8 Correct 27 ms 205764 KB Output is correct
9 Correct 28 ms 207696 KB Output is correct
10 Correct 27 ms 207920 KB Output is correct
11 Correct 27 ms 205648 KB Output is correct
12 Correct 28 ms 207852 KB Output is correct
13 Correct 25 ms 205648 KB Output is correct
14 Correct 25 ms 207704 KB Output is correct
15 Correct 26 ms 207704 KB Output is correct
16 Correct 27 ms 205656 KB Output is correct
17 Correct 29 ms 207620 KB Output is correct
18 Correct 30 ms 207640 KB Output is correct
19 Correct 27 ms 207696 KB Output is correct
20 Correct 26 ms 205648 KB Output is correct
21 Correct 26 ms 207704 KB Output is correct
22 Correct 27 ms 207628 KB Output is correct
23 Correct 26 ms 207744 KB Output is correct
24 Correct 27 ms 207696 KB Output is correct
25 Correct 43 ms 210520 KB Output is correct
26 Correct 42 ms 210272 KB Output is correct
27 Correct 33 ms 210256 KB Output is correct
28 Correct 43 ms 210512 KB Output is correct
29 Correct 48 ms 210356 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 28 ms 205656 KB Output is correct
2 Correct 1068 ms 420540 KB Output is correct
3 Correct 1137 ms 420260 KB Output is correct
4 Correct 1049 ms 402480 KB Output is correct
5 Correct 1077 ms 420808 KB Output is correct
6 Correct 513 ms 412800 KB Output is correct
7 Correct 524 ms 413076 KB Output is correct
8 Correct 926 ms 412872 KB Output is correct
9 Correct 988 ms 411904 KB Output is correct
10 Correct 873 ms 410868 KB Output is correct
11 Correct 881 ms 412736 KB Output is correct
12 Correct 941 ms 414992 KB Output is correct
13 Correct 1048 ms 415364 KB Output is correct
14 Correct 964 ms 387804 KB Output is correct
15 Correct 1069 ms 414644 KB Output is correct
16 Correct 1114 ms 423388 KB Output is correct
17 Correct 26 ms 205648 KB Output is correct
18 Correct 26 ms 207668 KB Output is correct
19 Correct 26 ms 205648 KB Output is correct
20 Correct 26 ms 207704 KB Output is correct
21 Correct 770 ms 412544 KB Output is correct
22 Correct 768 ms 412752 KB Output is correct
23 Correct 716 ms 385776 KB Output is correct
24 Correct 906 ms 411396 KB Output is correct
25 Correct 231 ms 408940 KB Output is correct
26 Correct 202 ms 408816 KB Output is correct
27 Correct 195 ms 408760 KB Output is correct
28 Correct 193 ms 408820 KB Output is correct
29 Correct 593 ms 425516 KB Output is correct
30 Correct 582 ms 425464 KB Output is correct
31 Correct 460 ms 424972 KB Output is correct
32 Correct 581 ms 425400 KB Output is correct
33 Correct 522 ms 409092 KB Output is correct
34 Correct 559 ms 411116 KB Output is correct
35 Correct 416 ms 364448 KB Output is correct
36 Correct 558 ms 411120 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 26 ms 205656 KB Output is correct
2 Correct 27 ms 205724 KB Output is correct
3 Correct 26 ms 207776 KB Output is correct
4 Correct 28 ms 205644 KB Output is correct
5 Correct 28 ms 207704 KB Output is correct
6 Correct 27 ms 207704 KB Output is correct
7 Correct 28 ms 207924 KB Output is correct
8 Correct 44 ms 210476 KB Output is correct
9 Correct 570 ms 425464 KB Output is correct
10 Correct 589 ms 425520 KB Output is correct
11 Correct 437 ms 424024 KB Output is correct
12 Correct 611 ms 425328 KB Output is correct
13 Correct 592 ms 321276 KB Output is correct
14 Correct 518 ms 321360 KB Output is correct
15 Correct 769 ms 321368 KB Output is correct
16 Correct 807 ms 321340 KB Output is correct
17 Correct 684 ms 321376 KB Output is correct
18 Correct 783 ms 321348 KB Output is correct
19 Correct 1188 ms 425632 KB Output is correct
20 Correct 1078 ms 425724 KB Output is correct
21 Correct 1678 ms 425460 KB Output is correct
22 Correct 1783 ms 425520 KB Output is correct
23 Correct 1402 ms 425048 KB Output is correct
24 Correct 1780 ms 425460 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 27 ms 207704 KB Output is correct
2 Correct 27 ms 205572 KB Output is correct
3 Correct 27 ms 207696 KB Output is correct
4 Correct 27 ms 207704 KB Output is correct
5 Correct 26 ms 207704 KB Output is correct
6 Correct 28 ms 208060 KB Output is correct
7 Correct 49 ms 210260 KB Output is correct
8 Correct 531 ms 409108 KB Output is correct
9 Correct 567 ms 411136 KB Output is correct
10 Correct 435 ms 364276 KB Output is correct
11 Correct 565 ms 411096 KB Output is correct
12 Correct 480 ms 312584 KB Output is correct
13 Correct 711 ms 313688 KB Output is correct
14 Correct 704 ms 312380 KB Output is correct
15 Correct 752 ms 313912 KB Output is correct
16 Correct 618 ms 310136 KB Output is correct
17 Correct 718 ms 313900 KB Output is correct
18 Correct 966 ms 408488 KB Output is correct
19 Correct 1545 ms 410252 KB Output is correct
20 Correct 1530 ms 408792 KB Output is correct
21 Correct 1634 ms 411116 KB Output is correct
22 Correct 1358 ms 404348 KB Output is correct
23 Correct 1628 ms 409736 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 31 ms 205648 KB Output is correct
2 Correct 25 ms 205736 KB Output is correct
3 Correct 27 ms 207704 KB Output is correct
4 Correct 29 ms 207692 KB Output is correct
5 Correct 26 ms 205656 KB Output is correct
6 Correct 26 ms 205912 KB Output is correct
7 Correct 26 ms 207684 KB Output is correct
8 Correct 27 ms 205764 KB Output is correct
9 Correct 28 ms 207696 KB Output is correct
10 Correct 27 ms 207920 KB Output is correct
11 Correct 27 ms 205648 KB Output is correct
12 Correct 28 ms 207852 KB Output is correct
13 Correct 25 ms 205648 KB Output is correct
14 Correct 25 ms 207704 KB Output is correct
15 Correct 26 ms 207704 KB Output is correct
16 Correct 27 ms 205656 KB Output is correct
17 Correct 29 ms 207620 KB Output is correct
18 Correct 30 ms 207640 KB Output is correct
19 Correct 27 ms 207696 KB Output is correct
20 Correct 26 ms 205648 KB Output is correct
21 Correct 26 ms 207704 KB Output is correct
22 Correct 27 ms 207628 KB Output is correct
23 Correct 26 ms 207744 KB Output is correct
24 Correct 27 ms 207696 KB Output is correct
25 Correct 43 ms 210520 KB Output is correct
26 Correct 42 ms 210272 KB Output is correct
27 Correct 33 ms 210256 KB Output is correct
28 Correct 43 ms 210512 KB Output is correct
29 Correct 48 ms 210356 KB Output is correct
30 Correct 648 ms 318088 KB Output is correct
31 Correct 749 ms 318160 KB Output is correct
32 Correct 971 ms 318448 KB Output is correct
33 Correct 963 ms 317748 KB Output is correct
34 Correct 854 ms 317568 KB Output is correct
35 Correct 1004 ms 318044 KB Output is correct
36 Correct 644 ms 315112 KB Output is correct
37 Correct 703 ms 314912 KB Output is correct
38 Correct 879 ms 314956 KB Output is correct
39 Correct 864 ms 314584 KB Output is correct
40 Correct 859 ms 313684 KB Output is correct
41 Correct 787 ms 314080 KB Output is correct
42 Correct 655 ms 315456 KB Output is correct
43 Correct 993 ms 315120 KB Output is correct
44 Correct 1024 ms 316332 KB Output is correct
45 Correct 961 ms 315480 KB Output is correct
46 Correct 884 ms 312504 KB Output is correct
47 Correct 1053 ms 316908 KB Output is correct
48 Correct 814 ms 319724 KB Output is correct
49 Correct 755 ms 319968 KB Output is correct
50 Correct 1051 ms 318792 KB Output is correct
51 Correct 588 ms 314976 KB Output is correct
52 Correct 804 ms 314996 KB Output is correct
53 Correct 829 ms 315084 KB Output is correct
54 Correct 735 ms 312780 KB Output is correct
55 Correct 800 ms 314068 KB Output is correct
56 Correct 797 ms 314960 KB Output is correct
57 Correct 249 ms 310640 KB Output is correct
58 Correct 277 ms 310636 KB Output is correct
59 Correct 274 ms 310640 KB Output is correct
60 Correct 262 ms 310736 KB Output is correct
61 Correct 259 ms 310616 KB Output is correct
62 Correct 606 ms 321324 KB Output is correct
63 Correct 561 ms 321260 KB Output is correct
64 Correct 842 ms 321320 KB Output is correct
65 Correct 901 ms 321180 KB Output is correct
66 Correct 700 ms 321292 KB Output is correct
67 Correct 886 ms 321304 KB Output is correct
68 Correct 483 ms 312160 KB Output is correct
69 Correct 780 ms 313540 KB Output is correct
70 Correct 748 ms 312400 KB Output is correct
71 Correct 791 ms 313876 KB Output is correct
72 Correct 659 ms 309884 KB Output is correct
73 Correct 768 ms 314044 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 31 ms 205648 KB Output is correct
2 Correct 25 ms 205736 KB Output is correct
3 Correct 27 ms 207704 KB Output is correct
4 Correct 29 ms 207692 KB Output is correct
5 Correct 26 ms 205656 KB Output is correct
6 Correct 26 ms 205912 KB Output is correct
7 Correct 26 ms 207684 KB Output is correct
8 Correct 27 ms 205764 KB Output is correct
9 Correct 28 ms 207696 KB Output is correct
10 Correct 27 ms 207920 KB Output is correct
11 Correct 27 ms 205648 KB Output is correct
12 Correct 28 ms 207852 KB Output is correct
13 Correct 25 ms 205648 KB Output is correct
14 Correct 25 ms 207704 KB Output is correct
15 Correct 26 ms 207704 KB Output is correct
16 Correct 27 ms 205656 KB Output is correct
17 Correct 29 ms 207620 KB Output is correct
18 Correct 30 ms 207640 KB Output is correct
19 Correct 27 ms 207696 KB Output is correct
20 Correct 26 ms 205648 KB Output is correct
21 Correct 26 ms 207704 KB Output is correct
22 Correct 27 ms 207628 KB Output is correct
23 Correct 26 ms 207744 KB Output is correct
24 Correct 27 ms 207696 KB Output is correct
25 Correct 43 ms 210520 KB Output is correct
26 Correct 42 ms 210272 KB Output is correct
27 Correct 33 ms 210256 KB Output is correct
28 Correct 43 ms 210512 KB Output is correct
29 Correct 48 ms 210356 KB Output is correct
30 Correct 28 ms 205656 KB Output is correct
31 Correct 1068 ms 420540 KB Output is correct
32 Correct 1137 ms 420260 KB Output is correct
33 Correct 1049 ms 402480 KB Output is correct
34 Correct 1077 ms 420808 KB Output is correct
35 Correct 513 ms 412800 KB Output is correct
36 Correct 524 ms 413076 KB Output is correct
37 Correct 926 ms 412872 KB Output is correct
38 Correct 988 ms 411904 KB Output is correct
39 Correct 873 ms 410868 KB Output is correct
40 Correct 881 ms 412736 KB Output is correct
41 Correct 941 ms 414992 KB Output is correct
42 Correct 1048 ms 415364 KB Output is correct
43 Correct 964 ms 387804 KB Output is correct
44 Correct 1069 ms 414644 KB Output is correct
45 Correct 1114 ms 423388 KB Output is correct
46 Correct 26 ms 205648 KB Output is correct
47 Correct 26 ms 207668 KB Output is correct
48 Correct 26 ms 205648 KB Output is correct
49 Correct 26 ms 207704 KB Output is correct
50 Correct 770 ms 412544 KB Output is correct
51 Correct 768 ms 412752 KB Output is correct
52 Correct 716 ms 385776 KB Output is correct
53 Correct 906 ms 411396 KB Output is correct
54 Correct 231 ms 408940 KB Output is correct
55 Correct 202 ms 408816 KB Output is correct
56 Correct 195 ms 408760 KB Output is correct
57 Correct 193 ms 408820 KB Output is correct
58 Correct 593 ms 425516 KB Output is correct
59 Correct 582 ms 425464 KB Output is correct
60 Correct 460 ms 424972 KB Output is correct
61 Correct 581 ms 425400 KB Output is correct
62 Correct 522 ms 409092 KB Output is correct
63 Correct 559 ms 411116 KB Output is correct
64 Correct 416 ms 364448 KB Output is correct
65 Correct 558 ms 411120 KB Output is correct
66 Correct 26 ms 205656 KB Output is correct
67 Correct 27 ms 205724 KB Output is correct
68 Correct 26 ms 207776 KB Output is correct
69 Correct 28 ms 205644 KB Output is correct
70 Correct 28 ms 207704 KB Output is correct
71 Correct 27 ms 207704 KB Output is correct
72 Correct 28 ms 207924 KB Output is correct
73 Correct 44 ms 210476 KB Output is correct
74 Correct 570 ms 425464 KB Output is correct
75 Correct 589 ms 425520 KB Output is correct
76 Correct 437 ms 424024 KB Output is correct
77 Correct 611 ms 425328 KB Output is correct
78 Correct 592 ms 321276 KB Output is correct
79 Correct 518 ms 321360 KB Output is correct
80 Correct 769 ms 321368 KB Output is correct
81 Correct 807 ms 321340 KB Output is correct
82 Correct 684 ms 321376 KB Output is correct
83 Correct 783 ms 321348 KB Output is correct
84 Correct 1188 ms 425632 KB Output is correct
85 Correct 1078 ms 425724 KB Output is correct
86 Correct 1678 ms 425460 KB Output is correct
87 Correct 1783 ms 425520 KB Output is correct
88 Correct 1402 ms 425048 KB Output is correct
89 Correct 1780 ms 425460 KB Output is correct
90 Correct 27 ms 207704 KB Output is correct
91 Correct 27 ms 205572 KB Output is correct
92 Correct 27 ms 207696 KB Output is correct
93 Correct 27 ms 207704 KB Output is correct
94 Correct 26 ms 207704 KB Output is correct
95 Correct 28 ms 208060 KB Output is correct
96 Correct 49 ms 210260 KB Output is correct
97 Correct 531 ms 409108 KB Output is correct
98 Correct 567 ms 411136 KB Output is correct
99 Correct 435 ms 364276 KB Output is correct
100 Correct 565 ms 411096 KB Output is correct
101 Correct 480 ms 312584 KB Output is correct
102 Correct 711 ms 313688 KB Output is correct
103 Correct 704 ms 312380 KB Output is correct
104 Correct 752 ms 313912 KB Output is correct
105 Correct 618 ms 310136 KB Output is correct
106 Correct 718 ms 313900 KB Output is correct
107 Correct 966 ms 408488 KB Output is correct
108 Correct 1545 ms 410252 KB Output is correct
109 Correct 1530 ms 408792 KB Output is correct
110 Correct 1634 ms 411116 KB Output is correct
111 Correct 1358 ms 404348 KB Output is correct
112 Correct 1628 ms 409736 KB Output is correct
113 Correct 648 ms 318088 KB Output is correct
114 Correct 749 ms 318160 KB Output is correct
115 Correct 971 ms 318448 KB Output is correct
116 Correct 963 ms 317748 KB Output is correct
117 Correct 854 ms 317568 KB Output is correct
118 Correct 1004 ms 318044 KB Output is correct
119 Correct 644 ms 315112 KB Output is correct
120 Correct 703 ms 314912 KB Output is correct
121 Correct 879 ms 314956 KB Output is correct
122 Correct 864 ms 314584 KB Output is correct
123 Correct 859 ms 313684 KB Output is correct
124 Correct 787 ms 314080 KB Output is correct
125 Correct 655 ms 315456 KB Output is correct
126 Correct 993 ms 315120 KB Output is correct
127 Correct 1024 ms 316332 KB Output is correct
128 Correct 961 ms 315480 KB Output is correct
129 Correct 884 ms 312504 KB Output is correct
130 Correct 1053 ms 316908 KB Output is correct
131 Correct 814 ms 319724 KB Output is correct
132 Correct 755 ms 319968 KB Output is correct
133 Correct 1051 ms 318792 KB Output is correct
134 Correct 588 ms 314976 KB Output is correct
135 Correct 804 ms 314996 KB Output is correct
136 Correct 829 ms 315084 KB Output is correct
137 Correct 735 ms 312780 KB Output is correct
138 Correct 800 ms 314068 KB Output is correct
139 Correct 797 ms 314960 KB Output is correct
140 Correct 249 ms 310640 KB Output is correct
141 Correct 277 ms 310636 KB Output is correct
142 Correct 274 ms 310640 KB Output is correct
143 Correct 262 ms 310736 KB Output is correct
144 Correct 259 ms 310616 KB Output is correct
145 Correct 606 ms 321324 KB Output is correct
146 Correct 561 ms 321260 KB Output is correct
147 Correct 842 ms 321320 KB Output is correct
148 Correct 901 ms 321180 KB Output is correct
149 Correct 700 ms 321292 KB Output is correct
150 Correct 886 ms 321304 KB Output is correct
151 Correct 483 ms 312160 KB Output is correct
152 Correct 780 ms 313540 KB Output is correct
153 Correct 748 ms 312400 KB Output is correct
154 Correct 791 ms 313876 KB Output is correct
155 Correct 659 ms 309884 KB Output is correct
156 Correct 768 ms 314044 KB Output is correct
157 Correct 1589 ms 417592 KB Output is correct
158 Correct 1661 ms 420000 KB Output is correct
159 Correct 2232 ms 418988 KB Output is correct
160 Correct 2299 ms 419388 KB Output is correct
161 Correct 1917 ms 417252 KB Output is correct
162 Correct 2307 ms 420720 KB Output is correct
163 Correct 1461 ms 412936 KB Output is correct
164 Correct 1396 ms 412920 KB Output is correct
165 Correct 1822 ms 413124 KB Output is correct
166 Correct 1838 ms 412216 KB Output is correct
167 Correct 1816 ms 412388 KB Output is correct
168 Correct 1657 ms 413324 KB Output is correct
169 Correct 1678 ms 415556 KB Output is correct
170 Correct 1975 ms 414032 KB Output is correct
171 Correct 1958 ms 415236 KB Output is correct
172 Correct 2086 ms 415872 KB Output is correct
173 Correct 1787 ms 411900 KB Output is correct
174 Correct 2037 ms 416496 KB Output is correct
175 Correct 1774 ms 420832 KB Output is correct
176 Correct 1592 ms 422476 KB Output is correct
177 Correct 2242 ms 424948 KB Output is correct
178 Correct 1186 ms 412600 KB Output is correct
179 Correct 1682 ms 411148 KB Output is correct
180 Correct 1764 ms 412772 KB Output is correct
181 Correct 1539 ms 409872 KB Output is correct
182 Correct 1810 ms 412852 KB Output is correct
183 Correct 1722 ms 412580 KB Output is correct
184 Correct 480 ms 408876 KB Output is correct
185 Correct 511 ms 407972 KB Output is correct
186 Correct 560 ms 408948 KB Output is correct
187 Correct 501 ms 408756 KB Output is correct
188 Correct 532 ms 410992 KB Output is correct