Cod sursa(job #2830319)

Utilizator catarau.bianca.Bianca Catarau catarau.bianca. Data 9 ianuarie 2022 19:04:41
Problema Asmax Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

ifstream f("asmax.in");
ofstream g("asmax.out");

int i, j, n, x, y, valoare[16005], valoare_subgraf_maxima=-1001;
vector <int> G[16005];
bool vizitat[16005];

void DFS(int s)
{
    vizitat[s]=1;
    for (auto i: G[s])
    {
        if (!vizitat[i])
        {
            DFS(i);
            if (valoare[i]>0)
                valoare[s]+=valoare[i];
        }
    }
}
int main()
{
    f>>n;
    for (i=1; i<=n ; i++)
        f>>valoare[i];

    for (i=1; i<=n; i++)
    {
        f>>x>>y;
        G[x].push_back(y);
        G[y].push_back(x);
    }
    DFS(1);
    for (int i=1; i<=n; i++)
        if (valoare[i]>valoare_subgraf_maxima)
            valoare_subgraf_maxima=valoare[i];
    g<<valoare_subgraf_maxima;
    return 0;
}