Cod sursa(job #482003)

Utilizator zloteanu.adrianzloteanu adrian nichita zloteanu.adrian Data 2 septembrie 2010 12:37:23
Problema Asmax Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<fstream>
using namespace std;
int a[16001][100],n,v[16001],x,y,s[16001],i,viz[16001];
int df(int vf)
{viz[vf]=1;
 s[vf]=v[vf];
 int val;
 for(int i=1;i<=a[vf][0];i++)
  if(!viz[a[vf][i]])
   {val=df(a[vf][i]);
    if(val>0) s[vf]=s[vf]+val;}
 return s[vf];}
int main()
{ifstream q("asmax.in");
ofstream w("asmax.out");
 q>>n;
 for(i=1;i<=n;i++)
  q>>v[i];
 for(i=1;i<n;i++)
   {q>>x>>y;
   a[x][++a[x][0]]=y;
   a[y][++a[y][0]]=x;}
 df(1);
 int max=s[1];
 for(i=2;i<=n;i++)
  if(max<s[i])
   max=s[i];
w<<max<<"\n";
 return 0;}