Submission #439306

#TimeUsernameProblemLanguageResultExecution timeMemory
439306keta_tsimakuridzeBeads and wires (APIO14_beads)C++14
13 / 100
1 ms552 KiB
#include<bits/stdc++.h>
#define f first
#define s second
using namespace std;
const int N=1e4+5,mod=1e9+7;
int dp[N][2],n,mx[N],x[N],leaf[N];
vector<pair<int,int> > V[N];
void dfs(int u,int p) {
	// kvela wibo shviltan gavlilia - 1   aris erti darchenili - 0 
	leaf[u] = 0;
	dp[u][0] = dp[u][1]  = 0;
	dp[u][0] = -1e8;
	
	for(int i=0;i<V[u].size();i++) {
		int v = V[u][i].f;
		if(v==p) continue;
		dfs(v,u);
		int x = 0;
		if(!leaf[v]) dp[u][1] += max(dp[v][0] + V[u][i].s,dp[v][1]),x =max(dp[v][0] + V[u][i].s,dp[u][1]);
		dp[u][0] = max(dp[u][0], -x +dp[v][1]+V[u][i].s);
	}
	dp[u][0] += dp[u][1];
	if(V[u].size()==1 && p)leaf[u] = 1;
}

 main(){
   ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0);
	cin>>n;
	for(int i=2;i<=n;i++){
		int u,v,w;
		cin>>u>>v>>w;
		V[u].push_back({v,w});
		V[v].push_back({u,w});
	}
	int ans = 0;
	for(int i=1;i<=n;i++){ 
		dfs(i,0);
		ans = max(ans,dp[i][1]);
	}
	//
//	dfs2(1,0); 
	cout<<ans;
}

Compilation message (stderr)

beads.cpp: In function 'void dfs(int, int)':
beads.cpp:14:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |  for(int i=0;i<V[u].size();i++) {
      |              ~^~~~~~~~~~~~
beads.cpp: At global scope:
beads.cpp:26:2: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   26 |  main(){
      |  ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...