Cod sursa(job #2829832)

Utilizator StefaniaCriStefania Cristea StefaniaCri Data 9 ianuarie 2022 00:30:55
Problema Asmax Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

#define Nmax 16001
ifstream f("asmax.in");
ofstream g("asmax.out");

vector<int> la[Nmax];
bool visited[Nmax];
int valori[Nmax];

int dfs(int start)
{
    visited[start] = true;
    for(auto vecin:la[start])
    {
        if(!visited[vecin])
        {
             valori[start] = max( valori[start], valori[start]+dfs(vecin));
        }
    }
    return valori[start];
}


int main()
{
    int n,x,y;

    f>>n;
    for(int i=1;i<=n;i++)
    {
        f>>valori[i];

    }
    for(int i=1;i<=n;i++)
    {
        f>>x>>y;
        la[x].push_back(y);
        la[y].push_back(x);
    }
    g<<dfs(1);
    return 0;
}