Cod sursa(job #713834)

Utilizator bacilaBacila Emilian bacila Data 14 martie 2012 23:58:00
Problema Asmax Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#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=-16000;
void dfs(int nod)
{int i;
     viz[nod]=true;
     for(i=0;i<v[nod].size();i++)
     if(!viz[v[nod][i]])
     {dfs(v[nod][i]);
     if(a[v[nod][i]]>0)
     a[nod]+=a[v[nod][i]];
     
     }
     if(a[nod]>m) m=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;
}