Cod sursa(job #2829431)

Utilizator miruna_avramAvram Miruna miruna_avram Data 8 ianuarie 2022 16:49:06
Problema Asmax Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("asmax.in");
ofstream g("asmax.out");

vector<int> v[16001];
vector<int> vis;
int val[100001];
int n,x,y,maxi=-10001;

int dfs(int node){
    int i;
    vis[node]=1;
    for(i=0;i<v[node].size();i++){
        if(!vis[v[node][i]]){
           int sum=dfs(v[node][i]);
            if(val[node]+sum>val[node])
                val[node]+=sum;
        }
    }

    return val[node];
}

int main(){
    int i;
    f>>n;
    for(int i=1;i<=n;i++)
    {
        f>>val[i];
    }
    for(i=0;i<n-1;i++){
        f>>x>>y;
        v[x].push_back(y);
        v[y].push_back(x);
    }
    for(i=0;i<=n;i++)
    {
        vis.push_back(0);
    }
    g<<dfs(1);

}