Cod sursa(job #2048610)

Utilizator vancea.catalincatalin vancea.catalin Data 26 octombrie 2017 12:58:32
Problema Asmax Scor 100
Compilator cpp Status done
Runda hlo2017_cj_av_l4 Marime 0.67 kb
#include<iostream>
#include<fstream>
#include<vector>
#define DN 16010
using namespace std;
fstream fin("asmax.in",ios::in),fout("asmax.out",ios::out);
int c[DN],n,ap[DN],maxi=-DN*1001;
vector<int> v[DN];
void dfs(int nod)
{
    ap[nod]=1;
    for(auto i: v[nod])
    {
        if(ap[i]==0)
        {
            dfs(i);
            if(c[i]>0) c[nod]+=c[i];
        }
    }
    maxi=max(maxi,c[nod]);
}

int main()
{
    int i,a,b;
    fin>>n;
    for(i=1;i<=n;i++) fin>>c[i];
    for(i=1;i<n;i++)
    {
        fin>>a>>b;
        v[a].push_back(b);
        v[b].push_back(a);
    }
    dfs(1);
    fout<<maxi;
}