Submission #439818

# Submission time Handle Problem Language Result Execution time Memory
439818 2021-06-30T21:15:40 Z CSQ31 Road Closures (APIO21_roads) C++17
100 / 100
845 ms 417844 KB
#include "roads.h"
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define fi first
#define se second
#define sz(a) (int)(a.size())
#define all(a) a.begin(),a.end()
#define lb lower_bound
#define ub upper_bound
#define owo ios_base::sync_with_stdio(0);cin.tie(0);
#define INF (ll)(1e18)
#define debug(...) fprintf(stderr, __VA_ARGS__),fflush(stderr)
#define time__(d) for(long blockTime = 0; (blockTime == 0 ? (blockTime=clock()) != 0 : false);\
debug("%s time : %.4fs\n", d, (double)(clock() - blockTime) / CLOCKS_PER_SEC))
typedef long long int ll;
typedef long double ld;
typedef pair<ll,ll> PII;
typedef pair<int,int> pii;
typedef vector<vector<int>> vii;
typedef vector<vector<ll>> VII;
ll gcd(ll a,ll b){if(!b)return a;else return gcd(b,a%b);}
const int MAXN = 2e5+5;
vector<vector<pii>> g1(MAXN),g2(MAXN); //g1 is original graph,g2 is subgraph after we deleted nodes with degree<=k
vector<int>par(MAXN),szz(MAXN,1),act(MAXN); //act means whether a node is active / has degree>k
vector<ll>ans;
VII dp(2,vector<ll>(MAXN,0));
int find(int x){
	if(x == par[x])return x;
	else return par[x] = find(par[x]);
}
void unite(int a,int b){
	a = find(a);
	b = find(b);
	if(a==b)return;
	if(szz[a] > szz[b])swap(a,b);
	par[a] = b;
	szz[b]+=szz[a];
}
struct node{ //dynamic segtree
	ll sum=0,cnt=0;
	ll L,R;
	node *lf=nullptr,*rg = nullptr;
	node(){}
	node(ll _L,ll _R){
		L = _L;
		R = _R;
	}
	void upd(ll pos,ll c){
		if(L==R){
			sum+=c*pos;
			cnt+=c;
			return;
		}
		ll tm = (L+R)/2;
		if(pos<=tm){
			if(lf == nullptr)lf = new node(L,tm);
			lf->upd(pos,c);
		}else{
			if(rg == nullptr)rg = new node(tm+1,R);
			rg->upd(pos,c);		
		}
		sum=cnt=0;
		if(lf != nullptr){
			sum+=lf->sum;
			cnt+=lf->cnt;
		}
		if(rg != nullptr){
			sum+=rg->sum;
			cnt+=rg->cnt;
		}
	}
	ll query(ll v){
		//cout<<L<<" "<<R<<" "<<cnt<<" "<<v<<'\n';
		if(L == R)return v*L;
		if(cnt == v)return sum;
		ll tm = (L+R)/2;
		if(lf == nullptr)lf = new node(L,tm);
		if(lf->cnt >= v)return lf->query(v);
		else{
		    if(rg == nullptr)rg = new node(tm+1,R);
		    return lf->sum + rg->query(v-lf->cnt);	
		}
	 }
};
vector<node>seg(MAXN);
void dfs(int v,int u,ll w,int k){
	int need = sz(g1[v])-k;
	ll cur = 0;
	vector<ll>choice;
	for(auto x:g2[v]){
		if(x.fi != u){
			dfs(x.fi,v,x.se,k);
			if(dp[1][x.fi] <= dp[0][x.fi]){ //we will take this edge anyways
				cur+=dp[1][x.fi];
				need--;
			}else{
				cur+=dp[0][x.fi];
				choice.pb(dp[1][x.fi]-dp[0][x.fi]);
			}
		}
	}
	dp[0][v] = dp[1][v] = INF;
	sort(all(choice));
	if(need<=0)dp[0][v] = cur;
	if(need-1<=0)dp[1][v] = w+cur;
	if(seg[v].cnt >= need)dp[0][v] = cur + (need>0?seg[v].query(need):0);
	if(seg[v].cnt >= need-1)dp[1][v] = cur + w + ((need-1)>0?seg[v].query(need-1):0); //take extra edges only from inactive
	ll tmp = cur+w;
	for(int i=0;i<min(sz(choice),need);i++){
		cur+=choice[i];
		int take = need-i-1;
		if(seg[v].cnt>=take)dp[0][v] = min(dp[0][v],cur + (take>0?seg[v].query(take):0));
	}
	need--;
	for(int i=0;i<min(sz(choice),need);i++){
		tmp+=choice[i];
		int take = need-i-1;
		if(seg[v].cnt>=take)dp[1][v] = min(dp[1][v],tmp + (take>0?seg[v].query(take):0));
	}
}

vector<ll> minimum_closure_costs(int n, vector<int> u,vector<int>v,vector<int>w){
	ans.resize(n);
	for(int i=0;i<n-1;i++){
		g1[u[i]].pb({v[i],w[i]});
		g1[v[i]].pb({u[i],w[i]});
	}
	for(int i=0;i<n;i++){
		seg[i] = node(1,1e9);
		for(auto x:g1[i])seg[i].upd(x.se,1); //currently graph is empty so we add every single edge as "inactive edge"
	}
	vector<int>c(n);
	for(int i=0;i<n;i++){c[i] = i;par[i] = i;}
	sort(all(c),[&](int x,int y){return sz(g1[x]) > sz(g1[y]);});
	//sort vertex by degree and we sweep
	int ptr = -1;
	vector<int>vis(n);
	for(int i=n-1;i>=0;i--){
		while(ptr+1<n && sz(g1[c[ptr+1]]) > i){
			ptr++;
			int d = c[ptr];
			act[d] = 1;
			for(auto x:g1[d]){
				if(act[x.fi]){
					seg[x.fi].upd(x.se,-1); //these edges become active now,remove them from segtree
					seg[d].upd(x.se,-1);
					g2[x.fi].pb({d,x.se});
					g2[d].pb({x.fi,x.se}); 
					unite(x.fi,d);
				}
			}
		}
		vector<int>meet;
		for(int j=0;j<=ptr;j++){
			int a = find(c[j]);
			if(vis[a])continue;
			else{
				dfs(a,-1,0,i);
				meet.pb(a);
				vis[a] = 1;
				ans[i]+=dp[0][a];
			}
		}
		for(int x:meet)vis[x] = 0;
		
	}
	return ans;
}
# Verdict Execution time Memory Grader output
1 Correct 12 ms 24496 KB Output is correct
2 Correct 22 ms 30608 KB Output is correct
3 Correct 23 ms 31004 KB Output is correct
4 Correct 19 ms 28452 KB Output is correct
5 Correct 13 ms 25044 KB Output is correct
6 Correct 13 ms 25260 KB Output is correct
7 Correct 13 ms 24896 KB Output is correct
8 Correct 20 ms 27872 KB Output is correct
9 Correct 19 ms 28592 KB Output is correct
10 Correct 13 ms 24880 KB Output is correct
11 Correct 14 ms 24880 KB Output is correct
12 Correct 228 ms 145400 KB Output is correct
13 Correct 463 ms 225504 KB Output is correct
14 Correct 685 ms 280368 KB Output is correct
15 Correct 754 ms 313424 KB Output is correct
16 Correct 762 ms 314024 KB Output is correct
17 Correct 444 ms 220100 KB Output is correct
18 Correct 15 ms 24496 KB Output is correct
19 Correct 358 ms 206236 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 13 ms 24496 KB Output is correct
2 Correct 593 ms 345648 KB Output is correct
3 Correct 680 ms 392308 KB Output is correct
4 Correct 694 ms 415596 KB Output is correct
5 Correct 397 ms 230952 KB Output is correct
6 Correct 22 ms 31152 KB Output is correct
7 Correct 25 ms 32340 KB Output is correct
8 Correct 22 ms 28180 KB Output is correct
9 Correct 14 ms 25196 KB Output is correct
10 Correct 14 ms 25216 KB Output is correct
11 Correct 17 ms 24892 KB Output is correct
12 Correct 225 ms 160808 KB Output is correct
13 Correct 402 ms 253812 KB Output is correct
14 Correct 13 ms 24492 KB Output is correct
15 Correct 352 ms 215936 KB Output is correct
16 Correct 388 ms 237112 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 15 ms 24496 KB Output is correct
2 Correct 15 ms 24596 KB Output is correct
3 Correct 14 ms 24484 KB Output is correct
4 Correct 14 ms 25088 KB Output is correct
5 Correct 15 ms 25224 KB Output is correct
6 Correct 13 ms 24848 KB Output is correct
7 Correct 15 ms 25260 KB Output is correct
8 Correct 15 ms 25004 KB Output is correct
9 Correct 14 ms 25264 KB Output is correct
10 Correct 14 ms 25136 KB Output is correct
11 Correct 14 ms 25212 KB Output is correct
12 Correct 13 ms 24880 KB Output is correct
13 Correct 16 ms 24984 KB Output is correct
14 Correct 17 ms 25264 KB Output is correct
15 Correct 14 ms 24872 KB Output is correct
16 Correct 13 ms 24760 KB Output is correct
17 Correct 14 ms 25008 KB Output is correct
18 Correct 13 ms 24880 KB Output is correct
19 Correct 13 ms 24888 KB Output is correct
20 Correct 14 ms 24956 KB Output is correct
21 Correct 13 ms 24496 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 15 ms 24496 KB Output is correct
2 Correct 15 ms 24596 KB Output is correct
3 Correct 14 ms 24484 KB Output is correct
4 Correct 14 ms 25088 KB Output is correct
5 Correct 15 ms 25224 KB Output is correct
6 Correct 13 ms 24848 KB Output is correct
7 Correct 15 ms 25260 KB Output is correct
8 Correct 15 ms 25004 KB Output is correct
9 Correct 14 ms 25264 KB Output is correct
10 Correct 14 ms 25136 KB Output is correct
11 Correct 14 ms 25212 KB Output is correct
12 Correct 13 ms 24880 KB Output is correct
13 Correct 16 ms 24984 KB Output is correct
14 Correct 17 ms 25264 KB Output is correct
15 Correct 14 ms 24872 KB Output is correct
16 Correct 13 ms 24760 KB Output is correct
17 Correct 14 ms 25008 KB Output is correct
18 Correct 13 ms 24880 KB Output is correct
19 Correct 13 ms 24888 KB Output is correct
20 Correct 14 ms 24956 KB Output is correct
21 Correct 13 ms 24496 KB Output is correct
22 Correct 13 ms 24532 KB Output is correct
23 Correct 23 ms 29156 KB Output is correct
24 Correct 25 ms 32104 KB Output is correct
25 Correct 20 ms 28136 KB Output is correct
26 Correct 21 ms 28720 KB Output is correct
27 Correct 26 ms 31344 KB Output is correct
28 Correct 20 ms 28552 KB Output is correct
29 Correct 26 ms 31512 KB Output is correct
30 Correct 26 ms 31376 KB Output is correct
31 Correct 23 ms 28720 KB Output is correct
32 Correct 23 ms 28448 KB Output is correct
33 Correct 23 ms 31152 KB Output is correct
34 Correct 27 ms 32352 KB Output is correct
35 Correct 18 ms 28272 KB Output is correct
36 Correct 23 ms 30640 KB Output is correct
37 Correct 24 ms 30968 KB Output is correct
38 Correct 21 ms 28464 KB Output is correct
39 Correct 13 ms 24560 KB Output is correct
40 Correct 17 ms 24520 KB Output is correct
41 Correct 14 ms 25116 KB Output is correct
42 Correct 14 ms 25332 KB Output is correct
43 Correct 17 ms 24956 KB Output is correct
44 Correct 15 ms 25136 KB Output is correct
45 Correct 17 ms 25040 KB Output is correct
46 Correct 14 ms 25264 KB Output is correct
47 Correct 15 ms 25124 KB Output is correct
48 Correct 17 ms 25264 KB Output is correct
49 Correct 14 ms 24876 KB Output is correct
50 Correct 14 ms 25008 KB Output is correct
51 Correct 15 ms 25272 KB Output is correct
52 Correct 14 ms 24880 KB Output is correct
53 Correct 23 ms 27816 KB Output is correct
54 Correct 26 ms 28836 KB Output is correct
55 Correct 19 ms 28576 KB Output is correct
56 Correct 20 ms 27952 KB Output is correct
57 Correct 20 ms 28592 KB Output is correct
58 Correct 14 ms 24752 KB Output is correct
59 Correct 14 ms 24980 KB Output is correct
60 Correct 14 ms 24924 KB Output is correct
61 Correct 17 ms 24972 KB Output is correct
62 Correct 14 ms 24880 KB Output is correct
63 Correct 15 ms 24496 KB Output is correct
64 Correct 19 ms 28492 KB Output is correct
65 Correct 19 ms 28592 KB Output is correct
66 Correct 19 ms 28592 KB Output is correct
67 Correct 19 ms 28592 KB Output is correct
68 Correct 20 ms 28592 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 611 ms 218020 KB Output is correct
2 Correct 561 ms 214696 KB Output is correct
3 Correct 481 ms 226196 KB Output is correct
4 Correct 640 ms 224776 KB Output is correct
5 Correct 478 ms 226304 KB Output is correct
6 Correct 436 ms 225196 KB Output is correct
7 Correct 571 ms 225092 KB Output is correct
8 Correct 364 ms 210008 KB Output is correct
9 Correct 548 ms 211944 KB Output is correct
10 Correct 611 ms 219460 KB Output is correct
11 Correct 495 ms 225752 KB Output is correct
12 Correct 427 ms 225448 KB Output is correct
13 Correct 13 ms 24496 KB Output is correct
14 Correct 351 ms 216040 KB Output is correct
15 Correct 386 ms 237068 KB Output is correct
16 Correct 20 ms 28420 KB Output is correct
17 Correct 20 ms 28592 KB Output is correct
18 Correct 20 ms 28588 KB Output is correct
19 Correct 23 ms 28588 KB Output is correct
20 Correct 23 ms 28584 KB Output is correct
21 Correct 385 ms 206324 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 611 ms 218020 KB Output is correct
2 Correct 561 ms 214696 KB Output is correct
3 Correct 481 ms 226196 KB Output is correct
4 Correct 640 ms 224776 KB Output is correct
5 Correct 478 ms 226304 KB Output is correct
6 Correct 436 ms 225196 KB Output is correct
7 Correct 571 ms 225092 KB Output is correct
8 Correct 364 ms 210008 KB Output is correct
9 Correct 548 ms 211944 KB Output is correct
10 Correct 611 ms 219460 KB Output is correct
11 Correct 495 ms 225752 KB Output is correct
12 Correct 427 ms 225448 KB Output is correct
13 Correct 13 ms 24496 KB Output is correct
14 Correct 351 ms 216040 KB Output is correct
15 Correct 386 ms 237068 KB Output is correct
16 Correct 20 ms 28420 KB Output is correct
17 Correct 20 ms 28592 KB Output is correct
18 Correct 20 ms 28588 KB Output is correct
19 Correct 23 ms 28588 KB Output is correct
20 Correct 23 ms 28584 KB Output is correct
21 Correct 385 ms 206324 KB Output is correct
22 Correct 13 ms 24472 KB Output is correct
23 Correct 13 ms 24496 KB Output is correct
24 Correct 15 ms 24472 KB Output is correct
25 Correct 516 ms 207972 KB Output is correct
26 Correct 463 ms 192576 KB Output is correct
27 Correct 638 ms 241232 KB Output is correct
28 Correct 495 ms 227800 KB Output is correct
29 Correct 431 ms 211716 KB Output is correct
30 Correct 448 ms 218964 KB Output is correct
31 Correct 438 ms 223952 KB Output is correct
32 Correct 568 ms 214196 KB Output is correct
33 Correct 396 ms 215608 KB Output is correct
34 Correct 585 ms 234752 KB Output is correct
35 Correct 613 ms 243424 KB Output is correct
36 Correct 475 ms 227528 KB Output is correct
37 Correct 464 ms 226948 KB Output is correct
38 Correct 234 ms 161600 KB Output is correct
39 Correct 454 ms 255092 KB Output is correct
40 Correct 18 ms 27876 KB Output is correct
41 Correct 21 ms 28820 KB Output is correct
42 Correct 21 ms 28560 KB Output is correct
43 Correct 21 ms 27952 KB Output is correct
44 Correct 20 ms 28584 KB Output is correct
45 Correct 14 ms 24772 KB Output is correct
46 Correct 13 ms 25008 KB Output is correct
47 Correct 15 ms 24928 KB Output is correct
48 Correct 14 ms 24972 KB Output is correct
49 Correct 15 ms 24900 KB Output is correct
50 Correct 246 ms 146196 KB Output is correct
51 Correct 467 ms 226624 KB Output is correct
52 Correct 588 ms 219472 KB Output is correct
53 Correct 581 ms 216036 KB Output is correct
54 Correct 471 ms 227496 KB Output is correct
55 Correct 628 ms 226044 KB Output is correct
56 Correct 511 ms 227496 KB Output is correct
57 Correct 449 ms 226504 KB Output is correct
58 Correct 587 ms 226456 KB Output is correct
59 Correct 368 ms 211248 KB Output is correct
60 Correct 599 ms 213144 KB Output is correct
61 Correct 633 ms 220788 KB Output is correct
62 Correct 525 ms 227160 KB Output is correct
63 Correct 449 ms 226728 KB Output is correct
64 Correct 17 ms 24584 KB Output is correct
65 Correct 364 ms 217176 KB Output is correct
66 Correct 402 ms 238420 KB Output is correct
67 Correct 23 ms 28472 KB Output is correct
68 Correct 27 ms 28592 KB Output is correct
69 Correct 23 ms 28552 KB Output is correct
70 Correct 23 ms 28524 KB Output is correct
71 Correct 24 ms 28528 KB Output is correct
72 Correct 376 ms 207116 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 12 ms 24496 KB Output is correct
2 Correct 22 ms 30608 KB Output is correct
3 Correct 23 ms 31004 KB Output is correct
4 Correct 19 ms 28452 KB Output is correct
5 Correct 13 ms 25044 KB Output is correct
6 Correct 13 ms 25260 KB Output is correct
7 Correct 13 ms 24896 KB Output is correct
8 Correct 20 ms 27872 KB Output is correct
9 Correct 19 ms 28592 KB Output is correct
10 Correct 13 ms 24880 KB Output is correct
11 Correct 14 ms 24880 KB Output is correct
12 Correct 228 ms 145400 KB Output is correct
13 Correct 463 ms 225504 KB Output is correct
14 Correct 685 ms 280368 KB Output is correct
15 Correct 754 ms 313424 KB Output is correct
16 Correct 762 ms 314024 KB Output is correct
17 Correct 444 ms 220100 KB Output is correct
18 Correct 15 ms 24496 KB Output is correct
19 Correct 358 ms 206236 KB Output is correct
20 Correct 13 ms 24496 KB Output is correct
21 Correct 593 ms 345648 KB Output is correct
22 Correct 680 ms 392308 KB Output is correct
23 Correct 694 ms 415596 KB Output is correct
24 Correct 397 ms 230952 KB Output is correct
25 Correct 22 ms 31152 KB Output is correct
26 Correct 25 ms 32340 KB Output is correct
27 Correct 22 ms 28180 KB Output is correct
28 Correct 14 ms 25196 KB Output is correct
29 Correct 14 ms 25216 KB Output is correct
30 Correct 17 ms 24892 KB Output is correct
31 Correct 225 ms 160808 KB Output is correct
32 Correct 402 ms 253812 KB Output is correct
33 Correct 13 ms 24492 KB Output is correct
34 Correct 352 ms 215936 KB Output is correct
35 Correct 388 ms 237112 KB Output is correct
36 Correct 15 ms 24496 KB Output is correct
37 Correct 15 ms 24596 KB Output is correct
38 Correct 14 ms 24484 KB Output is correct
39 Correct 14 ms 25088 KB Output is correct
40 Correct 15 ms 25224 KB Output is correct
41 Correct 13 ms 24848 KB Output is correct
42 Correct 15 ms 25260 KB Output is correct
43 Correct 15 ms 25004 KB Output is correct
44 Correct 14 ms 25264 KB Output is correct
45 Correct 14 ms 25136 KB Output is correct
46 Correct 14 ms 25212 KB Output is correct
47 Correct 13 ms 24880 KB Output is correct
48 Correct 16 ms 24984 KB Output is correct
49 Correct 17 ms 25264 KB Output is correct
50 Correct 14 ms 24872 KB Output is correct
51 Correct 13 ms 24760 KB Output is correct
52 Correct 14 ms 25008 KB Output is correct
53 Correct 13 ms 24880 KB Output is correct
54 Correct 13 ms 24888 KB Output is correct
55 Correct 14 ms 24956 KB Output is correct
56 Correct 13 ms 24496 KB Output is correct
57 Correct 13 ms 24532 KB Output is correct
58 Correct 23 ms 29156 KB Output is correct
59 Correct 25 ms 32104 KB Output is correct
60 Correct 20 ms 28136 KB Output is correct
61 Correct 21 ms 28720 KB Output is correct
62 Correct 26 ms 31344 KB Output is correct
63 Correct 20 ms 28552 KB Output is correct
64 Correct 26 ms 31512 KB Output is correct
65 Correct 26 ms 31376 KB Output is correct
66 Correct 23 ms 28720 KB Output is correct
67 Correct 23 ms 28448 KB Output is correct
68 Correct 23 ms 31152 KB Output is correct
69 Correct 27 ms 32352 KB Output is correct
70 Correct 18 ms 28272 KB Output is correct
71 Correct 23 ms 30640 KB Output is correct
72 Correct 24 ms 30968 KB Output is correct
73 Correct 21 ms 28464 KB Output is correct
74 Correct 13 ms 24560 KB Output is correct
75 Correct 17 ms 24520 KB Output is correct
76 Correct 14 ms 25116 KB Output is correct
77 Correct 14 ms 25332 KB Output is correct
78 Correct 17 ms 24956 KB Output is correct
79 Correct 15 ms 25136 KB Output is correct
80 Correct 17 ms 25040 KB Output is correct
81 Correct 14 ms 25264 KB Output is correct
82 Correct 15 ms 25124 KB Output is correct
83 Correct 17 ms 25264 KB Output is correct
84 Correct 14 ms 24876 KB Output is correct
85 Correct 14 ms 25008 KB Output is correct
86 Correct 15 ms 25272 KB Output is correct
87 Correct 14 ms 24880 KB Output is correct
88 Correct 23 ms 27816 KB Output is correct
89 Correct 26 ms 28836 KB Output is correct
90 Correct 19 ms 28576 KB Output is correct
91 Correct 20 ms 27952 KB Output is correct
92 Correct 20 ms 28592 KB Output is correct
93 Correct 14 ms 24752 KB Output is correct
94 Correct 14 ms 24980 KB Output is correct
95 Correct 14 ms 24924 KB Output is correct
96 Correct 17 ms 24972 KB Output is correct
97 Correct 14 ms 24880 KB Output is correct
98 Correct 15 ms 24496 KB Output is correct
99 Correct 19 ms 28492 KB Output is correct
100 Correct 19 ms 28592 KB Output is correct
101 Correct 19 ms 28592 KB Output is correct
102 Correct 19 ms 28592 KB Output is correct
103 Correct 20 ms 28592 KB Output is correct
104 Correct 611 ms 218020 KB Output is correct
105 Correct 561 ms 214696 KB Output is correct
106 Correct 481 ms 226196 KB Output is correct
107 Correct 640 ms 224776 KB Output is correct
108 Correct 478 ms 226304 KB Output is correct
109 Correct 436 ms 225196 KB Output is correct
110 Correct 571 ms 225092 KB Output is correct
111 Correct 364 ms 210008 KB Output is correct
112 Correct 548 ms 211944 KB Output is correct
113 Correct 611 ms 219460 KB Output is correct
114 Correct 495 ms 225752 KB Output is correct
115 Correct 427 ms 225448 KB Output is correct
116 Correct 13 ms 24496 KB Output is correct
117 Correct 351 ms 216040 KB Output is correct
118 Correct 386 ms 237068 KB Output is correct
119 Correct 20 ms 28420 KB Output is correct
120 Correct 20 ms 28592 KB Output is correct
121 Correct 20 ms 28588 KB Output is correct
122 Correct 23 ms 28588 KB Output is correct
123 Correct 23 ms 28584 KB Output is correct
124 Correct 385 ms 206324 KB Output is correct
125 Correct 13 ms 24472 KB Output is correct
126 Correct 13 ms 24496 KB Output is correct
127 Correct 15 ms 24472 KB Output is correct
128 Correct 516 ms 207972 KB Output is correct
129 Correct 463 ms 192576 KB Output is correct
130 Correct 638 ms 241232 KB Output is correct
131 Correct 495 ms 227800 KB Output is correct
132 Correct 431 ms 211716 KB Output is correct
133 Correct 448 ms 218964 KB Output is correct
134 Correct 438 ms 223952 KB Output is correct
135 Correct 568 ms 214196 KB Output is correct
136 Correct 396 ms 215608 KB Output is correct
137 Correct 585 ms 234752 KB Output is correct
138 Correct 613 ms 243424 KB Output is correct
139 Correct 475 ms 227528 KB Output is correct
140 Correct 464 ms 226948 KB Output is correct
141 Correct 234 ms 161600 KB Output is correct
142 Correct 454 ms 255092 KB Output is correct
143 Correct 18 ms 27876 KB Output is correct
144 Correct 21 ms 28820 KB Output is correct
145 Correct 21 ms 28560 KB Output is correct
146 Correct 21 ms 27952 KB Output is correct
147 Correct 20 ms 28584 KB Output is correct
148 Correct 14 ms 24772 KB Output is correct
149 Correct 13 ms 25008 KB Output is correct
150 Correct 15 ms 24928 KB Output is correct
151 Correct 14 ms 24972 KB Output is correct
152 Correct 15 ms 24900 KB Output is correct
153 Correct 246 ms 146196 KB Output is correct
154 Correct 467 ms 226624 KB Output is correct
155 Correct 588 ms 219472 KB Output is correct
156 Correct 581 ms 216036 KB Output is correct
157 Correct 471 ms 227496 KB Output is correct
158 Correct 628 ms 226044 KB Output is correct
159 Correct 511 ms 227496 KB Output is correct
160 Correct 449 ms 226504 KB Output is correct
161 Correct 587 ms 226456 KB Output is correct
162 Correct 368 ms 211248 KB Output is correct
163 Correct 599 ms 213144 KB Output is correct
164 Correct 633 ms 220788 KB Output is correct
165 Correct 525 ms 227160 KB Output is correct
166 Correct 449 ms 226728 KB Output is correct
167 Correct 17 ms 24584 KB Output is correct
168 Correct 364 ms 217176 KB Output is correct
169 Correct 402 ms 238420 KB Output is correct
170 Correct 23 ms 28472 KB Output is correct
171 Correct 27 ms 28592 KB Output is correct
172 Correct 23 ms 28552 KB Output is correct
173 Correct 23 ms 28524 KB Output is correct
174 Correct 24 ms 28528 KB Output is correct
175 Correct 376 ms 207116 KB Output is correct
176 Correct 16 ms 24584 KB Output is correct
177 Correct 845 ms 396560 KB Output is correct
178 Correct 620 ms 318960 KB Output is correct
179 Correct 554 ms 227792 KB Output is correct
180 Correct 793 ms 349948 KB Output is correct
181 Correct 515 ms 222732 KB Output is correct
182 Correct 516 ms 228616 KB Output is correct
183 Correct 581 ms 240836 KB Output is correct
184 Correct 714 ms 327372 KB Output is correct
185 Correct 794 ms 323192 KB Output is correct
186 Correct 693 ms 307668 KB Output is correct
187 Correct 725 ms 310512 KB Output is correct
188 Correct 580 ms 222280 KB Output is correct
189 Correct 678 ms 250768 KB Output is correct
190 Correct 789 ms 351764 KB Output is correct
191 Correct 506 ms 227496 KB Output is correct
192 Correct 736 ms 310956 KB Output is correct
193 Correct 764 ms 331800 KB Output is correct
194 Correct 469 ms 222684 KB Output is correct
195 Correct 558 ms 347440 KB Output is correct
196 Correct 631 ms 394384 KB Output is correct
197 Correct 653 ms 417844 KB Output is correct
198 Correct 399 ms 233048 KB Output is correct
199 Correct 24 ms 29104 KB Output is correct
200 Correct 35 ms 32152 KB Output is correct
201 Correct 20 ms 28176 KB Output is correct
202 Correct 27 ms 28824 KB Output is correct
203 Correct 30 ms 31356 KB Output is correct
204 Correct 22 ms 28592 KB Output is correct
205 Correct 25 ms 31476 KB Output is correct
206 Correct 27 ms 31384 KB Output is correct
207 Correct 23 ms 28720 KB Output is correct
208 Correct 22 ms 28444 KB Output is correct
209 Correct 26 ms 31256 KB Output is correct
210 Correct 29 ms 32424 KB Output is correct
211 Correct 20 ms 28276 KB Output is correct
212 Correct 27 ms 30640 KB Output is correct
213 Correct 31 ms 31004 KB Output is correct
214 Correct 22 ms 28464 KB Output is correct
215 Correct 15 ms 24496 KB Output is correct
216 Correct 15 ms 24496 KB Output is correct
217 Correct 16 ms 25092 KB Output is correct
218 Correct 15 ms 25292 KB Output is correct
219 Correct 17 ms 24968 KB Output is correct
220 Correct 20 ms 25264 KB Output is correct
221 Correct 19 ms 24972 KB Output is correct
222 Correct 19 ms 25264 KB Output is correct
223 Correct 19 ms 25160 KB Output is correct
224 Correct 17 ms 25208 KB Output is correct
225 Correct 17 ms 24976 KB Output is correct
226 Correct 16 ms 24984 KB Output is correct
227 Correct 16 ms 25272 KB Output is correct
228 Correct 18 ms 24896 KB Output is correct
229 Correct 514 ms 209100 KB Output is correct
230 Correct 462 ms 192572 KB Output is correct
231 Correct 613 ms 241308 KB Output is correct
232 Correct 508 ms 227900 KB Output is correct
233 Correct 429 ms 211696 KB Output is correct
234 Correct 431 ms 218960 KB Output is correct
235 Correct 442 ms 224080 KB Output is correct
236 Correct 550 ms 214312 KB Output is correct
237 Correct 424 ms 215632 KB Output is correct
238 Correct 561 ms 234664 KB Output is correct
239 Correct 620 ms 243432 KB Output is correct
240 Correct 495 ms 227636 KB Output is correct
241 Correct 455 ms 226820 KB Output is correct
242 Correct 218 ms 161700 KB Output is correct
243 Correct 401 ms 255084 KB Output is correct
244 Correct 22 ms 27888 KB Output is correct
245 Correct 22 ms 28872 KB Output is correct
246 Correct 23 ms 28620 KB Output is correct
247 Correct 21 ms 27920 KB Output is correct
248 Correct 23 ms 28560 KB Output is correct
249 Correct 15 ms 24752 KB Output is correct
250 Correct 17 ms 25008 KB Output is correct
251 Correct 15 ms 24880 KB Output is correct
252 Correct 16 ms 24968 KB Output is correct
253 Correct 16 ms 24892 KB Output is correct
254 Correct 241 ms 146160 KB Output is correct
255 Correct 427 ms 226568 KB Output is correct
256 Correct 691 ms 281852 KB Output is correct
257 Correct 775 ms 315220 KB Output is correct
258 Correct 763 ms 315788 KB Output is correct
259 Correct 425 ms 222120 KB Output is correct
260 Correct 556 ms 219352 KB Output is correct
261 Correct 563 ms 215924 KB Output is correct
262 Correct 473 ms 227448 KB Output is correct
263 Correct 582 ms 226028 KB Output is correct
264 Correct 466 ms 227536 KB Output is correct
265 Correct 453 ms 226496 KB Output is correct
266 Correct 527 ms 226472 KB Output is correct
267 Correct 381 ms 211236 KB Output is correct
268 Correct 519 ms 213148 KB Output is correct
269 Correct 568 ms 220840 KB Output is correct
270 Correct 477 ms 227132 KB Output is correct
271 Correct 412 ms 226784 KB Output is correct
272 Correct 15 ms 24588 KB Output is correct
273 Correct 355 ms 217260 KB Output is correct
274 Correct 382 ms 238376 KB Output is correct
275 Correct 21 ms 28464 KB Output is correct
276 Correct 21 ms 28508 KB Output is correct
277 Correct 25 ms 28512 KB Output is correct
278 Correct 22 ms 28604 KB Output is correct
279 Correct 22 ms 28604 KB Output is correct
280 Correct 356 ms 207080 KB Output is correct