莫名其妙
查看原帖
莫名其妙
104380
garbage2楼主2020/6/27 16:41

rt,此题范围到底多少啊啊啊

还有为什么我这么做会超时啊啊啊

#include<bits/stdc++.h>
using namespace std;
struct tree
{
	vector<int> next;
	int data;
}a[16005];
int ans=0;
int f[16005];
void dfs(int now,int fa)
{
	f[now]=a[now].data;
	int i;
	for(i=0;i<a[now].next[i];i++){
		int to=a[now].next[i];
		if(to!=fa){
			dfs(to,now);
			f[now]+=max(0,f[to]);
		}
	}
	ans=max(ans,f[now]);
}
int main()
{
	int n;
	cin>>n;
	int i;
	for(i=1;i<=n;i++)
		cin>>a[i].data;
	for(i=1;i<n;i++){
		int u,v;
		cin>>u>>v;
		a[u].next.push_back(v);
		a[v].next.push_back(u);
	}
	dfs(1,0);
	cout<<ans<<endl;
	return 0;
}

还是颓过头了啊啊啊

为什么我这么喜欢啊啊啊呀啊啊啊

2020/6/27 16:41
加载中...