Cod sursa(job #3375521)

Utilizator Raul_ADRPlutu Raul Raul_ADR Data 12 noiembrie 2026 10:53:40
Problema Asmax Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <bits/stdc++.h>

using namespace std;

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



int n,x,y,cost[16005],viz[16005],suma[16005],ans=INT_MIN;
vector<int>g[16005];

void dfs(int nod){
    viz[nod]=1;
    suma[nod]=cost[nod];
    for(int i:g[nod])
        if(!viz[i]){
            dfs(i);
            suma[nod]+=max(0,suma[i]);
    }
    ans=max(ans,suma[nod]);

}


int main() {
    fin>>n;
    for(int i=1;i<=n;++i)
        fin>>cost[i];
    while(fin>>x>>y){
        g[x].push_back(y);
        g[y].push_back(x);
    }
    dfs(1);
    fout<<ans;

    return 0;
}