Cod sursa(job #2828892)

Utilizator asdfsfafafafafafafafaJarca Andrei asdfsfafafafafafafafa Data 8 ianuarie 2022 06:36:33
Problema Asmax Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <bits/stdc++.h>
using namespace std;
vector<int>graf[100001];
int vfinal=INT_MIN;
int valori[100001];
int viz[100001];
int dfs(int nod_curent)
{
    int val_cur=valori[nod_curent];
    viz[nod_curent]=1;
    for(auto i:graf[nod_curent])
    {
        if(!viz[i])
        {
            int val_intoarcere = dfs(i);
            if(val_intoarcere+val_cur>val_cur) 
                val_cur=val_cur+val_intoarcere;
        }
    }
    if(val_cur>vfinal)
        vfinal=val_cur;
    return val_cur;
}
int main()
{
    ifstream fin("asmax.in");
    ofstream fout("asmax.out");
    int N;
    for(int i=1;i<=N;i++)
        fin>>valori[i];
    for(int i=1;i<=N;i++)
    {
        int x,y;
        fin>>x>>y;
        graf[x].push_back(y);
        graf[y].push_back(x);
    }
    for(int i=0;i<=N;i++)
        viz[i]=0;
    dfs(1);
    fout<<vfinal;
}