Cod sursa(job #2823249)

Utilizator bananamandaoneTudor Cosmin Oanea bananamandaone Data 27 decembrie 2021 18:33:59
Problema Asmax Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("asmax.in");
ofstream fout("asmax.out");

int n, m;
vector<int> pret(16003);
vector<int> h[16003];
vector<int> sol(16003);

int dist(int nod)
{
    if(h[nod].size() == 0)
    {
        sol[nod] = pret[nod];
        return pret[nod];
    }

    int s = 0;
    for(auto v : h[nod])
        s += dist(v);
    sol[nod] = s;
    return s;
}

int main()
{
    int start, p, x, y, mx;
    fin >> n;
    for(int i = 1; i <= n; i++)
        fin >> pret[i];

    for(int i = 1; i <= n; i++)
    {
        fin >> x >> y;
        h[x].push_back(y);
    }

    dist(1);

    mx = 0;
    for(int i = 1; i <= n; i++)
        mx = max(mx, sol[i]);
    fout << mx << " ";

    fin.close();
    fout.close();
    return 0;
}