Cod sursa(job #713832)

Utilizator bacilaBacila Emilian bacila Data 14 martie 2012 23:54:20
Problema Asmax Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 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;
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;
}