Cod sursa(job #2569480)

Utilizator dumitrustefania1DUMITRU STEFANIA dumitrustefania1 Data 4 martie 2020 12:19:05
Problema Asmax Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <bits/stdc++.h>
#define nmax 16000
#define pb push_back
using namespace std;
ifstream f("asmax.in");
ofstream g("asmax.out");
int n,i,k,j,x,d[nmax],c[nmax],sol,tata,y;
vector <int> v[nmax];
int dfs(int nod,int tata)
{
    d[nod]=c[nod];
    for(int i=0;i<v[nod].size();i++)

        if(v[nod][i]!=tata)
        {
            dfs(v[nod][i],nod);
            if(d[nod]+d[v[nod][i]]>d[nod])
                d[nod]+=d[v[nod][i]];
        }

    sol=max(sol,d[nod]);
}

int main()
{
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>c[i];
    }
    for(i=1;i<n;i++)
    {
        f>>x>>y;
        v[x].pb(y);
        v[y].pb(x);
    }

sol=-1<<30;
 dfs(1,0);
g<<sol;
    return 0;
}