Cod sursa(job #2907248)

Utilizator 134_tufa_liliana_ionelaTufa Liliana Ionela 134_tufa_liliana_ionela Data 29 mai 2022 13:55:42
Problema Asmax Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
ifstream f("asmax.in");
ofstream g("asmax.out");
vector<vector<int>>vecini;
vector<int>valoare, sumaNod;
vector<bool>vizitat;

void Dfs(int x){
    int aux;
    sumaNod[x]=valoare[x];
    vizitat[x]=true;
    for(auto i:vecini[x])
    if(vizitat[i]==false){
        Dfs(i);
        aux = sumaNod[x] + sumaNod[i];
        if(aux > sumaNod[x])
            sumaNod[x]=aux;
    }
}
int main()
{
    int N, x, y, maxS=-1000;
    f>>N;
    for(int i=1; i<=N; i++){
        f>>x;
        valoare[i]=x;
    }
    for(int i=1; i<N; i++){
        f>>x>>y;
        vecini[x].push_back(y);
        vecini[y].push_back(x);
    }

    Dfs(1);
    for(int i=1; i<=N; i++){
        if(maxS < sumaNod[i])
            maxS = sumaNod[i];
    }

    g<<maxS;
    f.close();
    g.close();
}