Cod sursa(job #3219145)

Utilizator NRGrbStoica Robert NRGrb Data 30 martie 2024 11:32:11
Problema Asmax Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <vector>

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

vector<vector<int>>G;

bool viz[16005];
int maxx=-999999, sum=0;
int val[16005];

void DFS(int nod){
    viz[nod]=true;
    for(int vec:G[nod]){
        if(!viz[vec]){
            DFS(vec);
            if(val[vec]>0)
                sum+=val[vec];
        }
    }
}

int main()
{   int n;
    fin>>n;
    G.resize(n+1);
    for(int i=1; i<=n; i++)
        fin>>val[i];
    for(int i=1; i<=n-1; i++){
        int x, y;
        fin>>x>>y;
        G[x].push_back(y);
        G[y].push_back(x);
    }

    DFS(1);

    fout<<sum+val[1];

    return 0;
}