Cod sursa(job #2830726)

Utilizator cosminradu1760Cosmin-Andrei Radu cosminradu1760 Data 10 ianuarie 2022 10:45:30
Problema Asmax Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <bits/stdc++.h>

using namespace std;

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

int N;
int V[16001];
int matrice[16001][16001];
int vizitat[16001];
int x,y,c,cmax;
void dfs(int nod)
{
    vizitat[nod] = 1;
    for(int i = 1; i <= N; i++)
    {
        if(matrice[nod][i] == 1 && vizitat[i] == 0)
        {
            c += V[i];
            dfs(i);
        }

    }

    if(c > cmax)
        cmax = c;

}

int main()
{
    fin>>N;


    for(int i = 1; i <= N; i++)
    {
        fin>>x;
        V[i] = x;
    }

    for(int i = 1; i <= N - 1; i++)
    {
        fin>>x>>y;

        matrice[x][y] = 1;
        matrice[y][x] = 1;
    }

    for(int i = 1; i <= N; i++)
    {
        c = V[i];
        dfs(i);
        if(c > cmax)
            cmax = c;

        c = INT_MIN;

        for(int j = 0 ; j <= N; j++)
        {
            vizitat[j] = 0;
        }
    }
    fout<<cmax;

    return 0;
}