Cod sursa(job #3332697)

Utilizator RaresAnghelAnghel Rares Mihai RaresAnghel Data 8 ianuarie 2026 17:09:30
Problema Asmax Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <bits/stdc++.h>

using namespace std;
const string nume="asmax";
ifstream f(nume+".in");
ofstream g(nume+".out");
vector<int> graf[16005];
bool viz[16005];
vector<int> val(16005);
int sum, mx;
void dfs(int nod)
{
    viz[nod]=1;
    for(auto vec : graf[nod])
    {
        if(!viz[vec])
        {
            dfs(vec);
            if(val[vec]>0)
                val[nod]+=val[vec];
        }
    }
}
int main()
{
    int n;
    f >> n;
    for (int i = 1; i <= n; i++)
    {
        f>>val[i];
    }
    for(int i=0;i<n;i++)
    {
        int a,b;
        f>>a>>b;
        graf[a].push_back(b);
        graf[b].push_back(a);
    }
    dfs(1);
    for(int i=1;i<=n;i++)
        if(mx<val[i])
            mx=val[i];
    g<<*max_element(val.begin()+1,val.end());

    return 0;
}