Pagini recente » Cod sursa (job #2243623) | Cod sursa (job #2598450) | Cod sursa (job #2342426) | Cod sursa (job #585210) | Cod sursa (job #2329199)
#include <bits/stdc++.h>
#define nmax 16005
using namespace std;ifstream f("asmax.in");ofstream g("asmax.out");int v[nmax];bool viz[nmax];int n,a,b;vector <int> mat[nmax];int ras;void dfs(int x){viz[x]=true;for (int i=0 , m=mat[x].size(); i<m; i++){int y=mat[x][i];if (viz[y]==true)continue;dfs(y);if (v[y]>=0)v[x]+=v[y];}}int main(){f>>n;for(int i=1;i<=n;i++)f>>v[i];for(int i=2;i<=n;i++){f>>a>>b;mat[a].push_back(b);mat[b].push_back(a);}dfs(1);ras=v[1];for(int i=2;i<=n;i++)ras=max(ras, v[i]);g<<ras;return 0;}