Cod sursa(job #1673657)

Utilizator vancea.catalincatalin vancea.catalin Data 3 aprilie 2016 23:36:12
Problema Asmax Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>
#include <vector>
#define DX 16010
using namespace std;
fstream fin("asmax.in",ios::in),fout("asmax.out",ios::out);
vector<int> v[DX];
int cost[DX],n,maxi;
void dfs(int nod,int pre)
{
    int i,t=0;
    for(i=0;i<v[nod].size();i++)
    {
        if(v[nod][i]!=pre)
        {
            dfs(v[nod][i],nod);
            if(cost[v[nod][i]]>=0) cost[nod]+=cost[v[nod][i]];
        }
    }
    maxi=max(maxi,cost[nod]);
}
int main()
{
    int a,b,i,j;
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>cost[i];
    }
    while(fin>>a>>b)
    {
        v[a].push_back(b);
        v[b].push_back(a);
    }
    dfs(1,0);
    fout<<maxi;
}