Cod sursa(job #3339639)

Utilizator jarnea_justinjarnea justin ioan jarnea_justin Data 9 februarie 2026 13:27:03
Problema Asmax Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <bits/stdc++.h>
#define ull unsigned long long
#define ll long long
using namespace std;
ifstream f("asmax.in");
ofstream g("asmax.out");
int n,t[16001],dp[16001];
vector<int> adj[16001];
void dfs(int nod)
{
    t[nod]=1;
    for(auto x:adj[nod])
        if(!t[x])
        {
            dfs(x);
            dp[nod]+=max(dp[x],0);
        }
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    f>>n;
    for(int i=1;i<=n;i++)
            f>>dp[i];
    for(int i=1;i<n;i++)
    {
        int a,b;
        f>>a>>b;
        adj[a].push_back(b);
        adj[b].push_back(a);
    }
    dfs(1);
    int sol=0;
    for(int i=1;i<=n;i++)
        sol=max(sol,dp[i]);
    g<<sol;
    return 0;
}