#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n,f[201000];
ll aw[201000];
struct ed{int v;ll w;};
vector<ed>g[201000];
const ll I=1e18;
ll dp[201000][2],dp2[201000][2];
ll a1[201000],a2[201000];
int son[201000];
void dfs(int x){
dp[x][0]=0;
ll m1=I,m2=I+1;
for(ed t:g[x])if(f[x]!=t.v){
int v=t.v;ll w=t.w;aw[v]=t.w;f[v]=x,dfs(v);
ll m=max(dp[v][1]+w,dp[v][0]);
dp[x][0]+=m,m-=(dp[v][0]+w);
if(m<m1)m2=m1,m1=m,son[x]=v;
else if(m<m2)m2=m;
}
a1[x]=m1,a2[x]=m2,dp[x][1]=dp[x][0]-a1[x];
}
void dfs2(int x){
for(ed t:g[x])if(t.v!=f[x]){
int v=t.v,w=t.w;
dp2[v][0]=dp[x][0]-max(dp[v][1]+w,dp[v][0]);
if(x>1)dp2[v][0]+=max(dp2[x][1]+aw[x],dp2[x][0]);
ll M=((son[x]==v)?a2[x]:a1[x]);
if(x>1)M=min(M,max(dp2[x][1]+aw[x],dp2[x][0])-(dp2[x][0]+aw[x]));
dp2[v][1]=dp2[v][0]-M;
dfs2(v);
}
}
int main(){
scanf("%d",&n);
for(int i=1,u,v,w;i<n;i++){
scanf("%d%d%d",&u,&v,&w);
g[u].push_back((ed){v,w});
g[v].push_back((ed){u,w});
}
dfs(1);
dfs2(1);
ll ans=-I;
for(int i=1;i<=n;i++){
ll at=dp[i][0];
if(i>1)at+=max(dp2[i][0],dp2[i][1]+aw[i]);
ans=max(ans,at);
}
return printf("%lld",ans),0;
}
Compilation message
beads.cpp: In function 'int main()':
beads.cpp:36:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
36 | scanf("%d",&n);
| ~~~~~^~~~~~~~~
beads.cpp:38:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
38 | scanf("%d%d%d",&u,&v,&w);
| ~~~~~^~~~~~~~~~~~~~~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
5076 KB |
Output is correct |
2 |
Correct |
3 ms |
5076 KB |
Output is correct |
3 |
Correct |
3 ms |
5076 KB |
Output is correct |
4 |
Correct |
3 ms |
5076 KB |
Output is correct |
5 |
Correct |
3 ms |
5076 KB |
Output is correct |
6 |
Correct |
3 ms |
5028 KB |
Output is correct |
7 |
Correct |
4 ms |
5076 KB |
Output is correct |
8 |
Correct |
3 ms |
5044 KB |
Output is correct |
9 |
Correct |
3 ms |
5076 KB |
Output is correct |
10 |
Correct |
3 ms |
5076 KB |
Output is correct |
11 |
Correct |
3 ms |
5076 KB |
Output is correct |
12 |
Correct |
2 ms |
5076 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
5076 KB |
Output is correct |
2 |
Correct |
3 ms |
5076 KB |
Output is correct |
3 |
Correct |
3 ms |
5076 KB |
Output is correct |
4 |
Correct |
3 ms |
5076 KB |
Output is correct |
5 |
Correct |
3 ms |
5076 KB |
Output is correct |
6 |
Correct |
3 ms |
5028 KB |
Output is correct |
7 |
Correct |
4 ms |
5076 KB |
Output is correct |
8 |
Correct |
3 ms |
5044 KB |
Output is correct |
9 |
Correct |
3 ms |
5076 KB |
Output is correct |
10 |
Correct |
3 ms |
5076 KB |
Output is correct |
11 |
Correct |
3 ms |
5076 KB |
Output is correct |
12 |
Correct |
2 ms |
5076 KB |
Output is correct |
13 |
Correct |
3 ms |
5044 KB |
Output is correct |
14 |
Correct |
3 ms |
5076 KB |
Output is correct |
15 |
Correct |
3 ms |
5164 KB |
Output is correct |
16 |
Correct |
3 ms |
5076 KB |
Output is correct |
17 |
Correct |
3 ms |
5076 KB |
Output is correct |
18 |
Correct |
3 ms |
5076 KB |
Output is correct |
19 |
Correct |
2 ms |
5076 KB |
Output is correct |
20 |
Correct |
3 ms |
5076 KB |
Output is correct |
21 |
Correct |
3 ms |
5044 KB |
Output is correct |
22 |
Correct |
3 ms |
5044 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
5076 KB |
Output is correct |
2 |
Correct |
3 ms |
5076 KB |
Output is correct |
3 |
Correct |
3 ms |
5076 KB |
Output is correct |
4 |
Correct |
3 ms |
5076 KB |
Output is correct |
5 |
Correct |
3 ms |
5076 KB |
Output is correct |
6 |
Correct |
3 ms |
5028 KB |
Output is correct |
7 |
Correct |
4 ms |
5076 KB |
Output is correct |
8 |
Correct |
3 ms |
5044 KB |
Output is correct |
9 |
Correct |
3 ms |
5076 KB |
Output is correct |
10 |
Correct |
3 ms |
5076 KB |
Output is correct |
11 |
Correct |
3 ms |
5076 KB |
Output is correct |
12 |
Correct |
2 ms |
5076 KB |
Output is correct |
13 |
Correct |
3 ms |
5044 KB |
Output is correct |
14 |
Correct |
3 ms |
5076 KB |
Output is correct |
15 |
Correct |
3 ms |
5164 KB |
Output is correct |
16 |
Correct |
3 ms |
5076 KB |
Output is correct |
17 |
Correct |
3 ms |
5076 KB |
Output is correct |
18 |
Correct |
3 ms |
5076 KB |
Output is correct |
19 |
Correct |
2 ms |
5076 KB |
Output is correct |
20 |
Correct |
3 ms |
5076 KB |
Output is correct |
21 |
Correct |
3 ms |
5044 KB |
Output is correct |
22 |
Correct |
3 ms |
5044 KB |
Output is correct |
23 |
Correct |
5 ms |
5716 KB |
Output is correct |
24 |
Correct |
5 ms |
5688 KB |
Output is correct |
25 |
Correct |
7 ms |
5588 KB |
Output is correct |
26 |
Correct |
8 ms |
6356 KB |
Output is correct |
27 |
Correct |
9 ms |
6356 KB |
Output is correct |
28 |
Correct |
8 ms |
6356 KB |
Output is correct |
29 |
Correct |
8 ms |
6200 KB |
Output is correct |
30 |
Correct |
7 ms |
6228 KB |
Output is correct |
31 |
Correct |
7 ms |
6740 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
5076 KB |
Output is correct |
2 |
Correct |
3 ms |
5076 KB |
Output is correct |
3 |
Correct |
3 ms |
5076 KB |
Output is correct |
4 |
Correct |
3 ms |
5076 KB |
Output is correct |
5 |
Correct |
3 ms |
5076 KB |
Output is correct |
6 |
Correct |
3 ms |
5028 KB |
Output is correct |
7 |
Correct |
4 ms |
5076 KB |
Output is correct |
8 |
Correct |
3 ms |
5044 KB |
Output is correct |
9 |
Correct |
3 ms |
5076 KB |
Output is correct |
10 |
Correct |
3 ms |
5076 KB |
Output is correct |
11 |
Correct |
3 ms |
5076 KB |
Output is correct |
12 |
Correct |
2 ms |
5076 KB |
Output is correct |
13 |
Correct |
3 ms |
5044 KB |
Output is correct |
14 |
Correct |
3 ms |
5076 KB |
Output is correct |
15 |
Correct |
3 ms |
5164 KB |
Output is correct |
16 |
Correct |
3 ms |
5076 KB |
Output is correct |
17 |
Correct |
3 ms |
5076 KB |
Output is correct |
18 |
Correct |
3 ms |
5076 KB |
Output is correct |
19 |
Correct |
2 ms |
5076 KB |
Output is correct |
20 |
Correct |
3 ms |
5076 KB |
Output is correct |
21 |
Correct |
3 ms |
5044 KB |
Output is correct |
22 |
Correct |
3 ms |
5044 KB |
Output is correct |
23 |
Correct |
5 ms |
5716 KB |
Output is correct |
24 |
Correct |
5 ms |
5688 KB |
Output is correct |
25 |
Correct |
7 ms |
5588 KB |
Output is correct |
26 |
Correct |
8 ms |
6356 KB |
Output is correct |
27 |
Correct |
9 ms |
6356 KB |
Output is correct |
28 |
Correct |
8 ms |
6356 KB |
Output is correct |
29 |
Correct |
8 ms |
6200 KB |
Output is correct |
30 |
Correct |
7 ms |
6228 KB |
Output is correct |
31 |
Correct |
7 ms |
6740 KB |
Output is correct |
32 |
Correct |
35 ms |
11468 KB |
Output is correct |
33 |
Correct |
32 ms |
11504 KB |
Output is correct |
34 |
Correct |
30 ms |
11492 KB |
Output is correct |
35 |
Correct |
217 ms |
29684 KB |
Output is correct |
36 |
Correct |
188 ms |
29700 KB |
Output is correct |
37 |
Correct |
189 ms |
29704 KB |
Output is correct |
38 |
Correct |
139 ms |
28852 KB |
Output is correct |
39 |
Correct |
117 ms |
28076 KB |
Output is correct |
40 |
Correct |
129 ms |
28940 KB |
Output is correct |
41 |
Correct |
179 ms |
33780 KB |
Output is correct |