Cod sursa(job #2830316)

Utilizator catarau.bianca.Bianca Catarau catarau.bianca. Data 9 ianuarie 2022 18:58:00
Problema Asmax Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1 kb
#include <bits/stdc++.h>

using namespace std;

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


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

void DFS(int s)
{
    vizitat[s]=1;
    valori_subgraf_maxime[s]=valoare[s];
    for (auto i: G[s])
    {
        if (!vizitat[i])
        {
            DFS(i);
            if (valori_subgraf_maxime[i]+valori_subgraf_maxime[s]>valori_subgraf_maxime[s])
                valori_subgraf_maxime[s]=valori_subgraf_maxime[s]+valori_subgraf_maxime[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 (valori_subgraf_maxime[i]>valoare_subgraf_maxima)
            valoare_subgraf_maxima=valori_subgraf_maxime[i];
    g<<valoare_subgraf_maxima;
    return 0;
}