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;
}
还是颓过头了啊啊啊
为什么我这么喜欢啊啊啊
呀啊啊啊