Cod sursa(job #2679380)

Utilizator geo_uwuManolachi George geo_uwu Data 30 noiembrie 2020 14:48:56
Problema Asmax Scor 100
Compilator cpp-64 Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul I, Semestrul 2 Marime 0.62 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("asmax.in");
ofstream g("asmax.out");
vector <int> a[16001];
int n,val[16001],summax=INT_MIN;
int dfs(int x=1, int node=-1)
{
    int y;
    for(int k:a[x])
        if(k!=node)
        {
            y=dfs(k,x);
            if(y>0) val[x]+=y;
        }
    return val[x];
}
int main()
{
    f>>n;
    for(int k=1;k<=n;k++) f>>val[k];
    for(int k=1;k<n;k++)
    {
        int i,j;
        f>>i>>j;
        a[i].push_back(j);
        a[j].push_back(i);
    }
    dfs();
    for(int i=1;i<=n;i++)
        summax=max(summax,val[i]);
    g<<summax;
}