/ Randle /

记录详情

Accepted


  
# 状态 耗时 内存占用
#1 Accepted 5ms 2.375 MiB
#2 Accepted 4ms 4.352 MiB
#3 Accepted 2ms 4.25 MiB
#4 Accepted 3ms 2.375 MiB
#5 Accepted 4ms 4.344 MiB
#6 Accepted 3ms 2.367 MiB
#7 Accepted 3ms 2.352 MiB
#8 Accepted 5ms 2.348 MiB
#9 Accepted 14ms 4.461 MiB
#10 Accepted 26ms 4.469 MiB

代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
struct yff
{
	int v,w,next;
}zyj[288888];
int f[288888],ji=0,dis[2888888];
inline int read()
{
	int k=1,w=1,s=0;
	char ch=getchar();
	while(ch<'0'||ch>'9')
	{
		if(ch=='-') w=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9')
	{
		s=s*10+ch-48;
		ch=getchar();
	}
	return k=w*s;
}
inline void add(int u,int v,int w)
{
	zyj[++ji].v=v;
	zyj[ji].w=w;
	zyj[ji].next=f[u];
	f[u]=ji;
}
void dfs(int x,int fa)
{
	for(int i=f[x];i>0;i=zyj[i].next)
	{
		int to=zyj[i].v;
		if(to==fa) continue;
		dfs(to,x);
		dis[x]=max(dis[to]+zyj[i].w,dis[x]);
	}
}
int n,m,ans,sum;
int main()
{
	n=read();
	for(int i=1;i<n;i++)
	{
		int a=read(),b=read(),c=read();
		add(a,b,c);
		add(b,a,c);
		sum+=c;
	}
	dfs(1,-1);
	ans=sum*2-dis[1];
	printf("%d\n",ans);
	return 0;
}

信息

递交者
类型
递交
题目
游 T2
题目数据
下载
语言
C++
递交时间
2018-04-25 14:49:26
评测时间
2018-04-25 14:49:26
评测机
分数
10
总耗时
74ms
峰值内存
4.469 MiB