Cod sursa(job #3332763)

Utilizator andrei1232008nicolae andrei andrei1232008 Data 9 ianuarie 2026 08:33:34
Problema Asmax Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("asmax.in");
ofstream fout("asmax.out");
const int lim=16e4;
int i,n,x,y,a[lim+10],head,d[lim+10],af;
bool viz[lim+10];
vector <int> v[lim+10];
void dfs(int k)
{
    viz[k]=1;
    d[k]=a[k];
    for(auto x:v[k])
    {
        if(viz[x]==0)
        {dfs(x);
        if(d[x]>0)d[k]+=d[x];}
    }
    af=max(d[k],af);
}
int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>a[i];
    for(i=1;i<=n-1;i++)
    {
        fin>>x>>y;
        v[x].push_back(y);
        v[y].push_back(x);
    }
    dfs(1);
    fout<<af;
    return 0;
}