Pagini recente » Cod sursa (job #1249821) | Cod sursa (job #241615) | Cod sursa (job #1358503) | Cod sursa (job #490607) | Cod sursa (job #713831)
Cod sursa(job #713831)
#include <vector>
#include <fstream>
#include <bitset>
#define pb push_back
using namespace std;
bitset<16005> viz;
vector<int> v[16005];
int n,a[16005],m;
int dfs(int nod)
{int i,sp;
viz[nod]=true;
for(i=0;i<v[nod].size();i++)
if(!viz[v[nod][i]])
{sp=dfs(v[nod][i]);
if(sp>0)
a[nod]+=sp;
if(a[nod]>m) m=a[nod];
}
return max(0,a[nod]);
}
int main ()
{int i,x,y;
ifstream f("asmax.in");
ofstream g("asmax.out");
f>>n;
for(i=1;i<=n;i++)
f>>a[i];
for(i=1;i<n;i++)
{f>>x>>y;
v[x].pb(y);
v[y].pb(x);}
dfs(1);
g<<m;
f.close(); g.close();
return 0;
}