Cod sursa(job #3157529)

Utilizator Zed1YasuoAlex Birsan Zed1Yasuo Data 15 octombrie 2023 17:56:42
Problema Asmax Scor 90
Compilator cpp-64 Status done
Runda HLO 2023 - Lot - Tema 0 Marime 0.64 kb
#include <bits/stdc++.h>
#define pb push_back
using namespace std;
ifstream f("asmax.in");
ofstream g("asmax.out");
const int N=16005;
vector<int>a[N];
int mx=INT_MIN;
int n,m,d[N],val[N];
void dfs(int nod,int tt)
{
    d[nod]+=val[nod];
    for(auto x: a[nod])
    {
        if(x==tt)
            continue;
        dfs(x,nod);
        d[nod]=max(d[nod],d[nod]+d[x]);
        mx=max(mx,d[nod]);
    }
}
int main()
{
    f>>n;
    for(int i=1;i<=n;i++)
        f>>val[i];
        int x,y;
    for(int i=1;i<n;i++)
    {
        f>>x>>y;
        a[x].pb(y);
        a[y].pb(x);
    }
    dfs(1,0);
    g<<mx;
    return 0;
}