#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
int n,dp[N][2][2];
struct edge{
int w,to,nxt;
};
edge ed[N<<1];
int cnt,h[N];
void add(int st,int et,int wi){
cnt++;
ed[cnt].to=et;
ed[cnt].w=wi;
ed[cnt].nxt=h[st];
h[st]=cnt;
}
void dfs(int x,int fa){
dp[x][0][0]=0;
for(int i=h[x];i;i=ed[i].nxt){
int v=ed[i].to;
if(v==fa)continue;
dfs(v,x);
int t0=max(dp[v][0][0],dp[v][1][0]),t1=dp[v][1][1];
int dp00=max({dp[x][0][0]+t0,dp[x][0][0]+t1+ed[i].w}),
dp10=max({dp[x][1][1]+t0+ed[i].w,dp[x][1][0]+t1+ed[i].w,dp[x][1][0]+t0}),
dp11=max({dp[x][1][1]+t0,dp[x][1][1]+t1+ed[i].w,dp[x][0][0]+t0+ed[i].w});
dp[x][0][0]=dp00;
dp[x][1][0]=dp10;
dp[x][1][1]=dp11;
}
}
int main(){
scanf("%d",&n);
for(int i=1,x,y,w;i<n;i++){
scanf("%d%d%d",&x,&y,&w);
add(x,y,w);
add(y,x,w);
}
memset(dp,-63,sizeof dp);
dfs(1,0);
printf("%d",max(dp[1][0][0],dp[1][1][0]));
return 0;
}
Compilation message
beads.cpp: In function 'int main()':
beads.cpp:33:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
33 | scanf("%d",&n);
| ~~~~~^~~~~~~~~
beads.cpp:35:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
35 | scanf("%d%d%d",&x,&y,&w);
| ~~~~~^~~~~~~~~~~~~~~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
3380 KB |
Output is correct |
2 |
Correct |
2 ms |
3384 KB |
Output is correct |
3 |
Correct |
2 ms |
3412 KB |
Output is correct |
4 |
Correct |
2 ms |
3384 KB |
Output is correct |
5 |
Correct |
2 ms |
3412 KB |
Output is correct |
6 |
Incorrect |
2 ms |
3412 KB |
Output isn't correct |
7 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
3380 KB |
Output is correct |
2 |
Correct |
2 ms |
3384 KB |
Output is correct |
3 |
Correct |
2 ms |
3412 KB |
Output is correct |
4 |
Correct |
2 ms |
3384 KB |
Output is correct |
5 |
Correct |
2 ms |
3412 KB |
Output is correct |
6 |
Incorrect |
2 ms |
3412 KB |
Output isn't correct |
7 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
3380 KB |
Output is correct |
2 |
Correct |
2 ms |
3384 KB |
Output is correct |
3 |
Correct |
2 ms |
3412 KB |
Output is correct |
4 |
Correct |
2 ms |
3384 KB |
Output is correct |
5 |
Correct |
2 ms |
3412 KB |
Output is correct |
6 |
Incorrect |
2 ms |
3412 KB |
Output isn't correct |
7 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
3380 KB |
Output is correct |
2 |
Correct |
2 ms |
3384 KB |
Output is correct |
3 |
Correct |
2 ms |
3412 KB |
Output is correct |
4 |
Correct |
2 ms |
3384 KB |
Output is correct |
5 |
Correct |
2 ms |
3412 KB |
Output is correct |
6 |
Incorrect |
2 ms |
3412 KB |
Output isn't correct |
7 |
Halted |
0 ms |
0 KB |
- |