Cod sursa(job #2770392)

Utilizator Cosma05Cosma Tudor Cosma05 Data 20 august 2021 18:22:18
Problema Asmax Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("asmax.in");
ofstream fout("asmax.out");

int n , v[16005];
vector < int > G[16005];

void dfs(int nod , int dad)
{
    for(auto i : G[nod])
        if(i != dad)
            dfs(i , nod);
    v[dad] += max(0 , v[nod]);
}

int main()
{
    fin >> n;
    for(int i = 1 ; i <= n ; i++)
        fin >> v[i];
    for(int i = 1 ; i < n ; i++)
    {
        int u , v;
        fin >> u >> v;
        G[u].emplace_back(v);
        G[v].emplace_back(u);
    }

    dfs(1 , 0);

    int mac = v[1];
    for(int i = 2 ; i <= n ; i++)
        mac = max(mac , v[i]);

    fout << mac;
    return 0;
}