Cod sursa(job #2830503)

Utilizator jaha01Jahaleanu Vlad-Gabriel jaha01 Data 9 ianuarie 2022 23:13:14
Problema Asmax Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <iostream>
#include <bits/stdc++.h>

#define nMax 16001

using namespace std;

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

int n;
vector<int> adj[100];
vector<bool> visited(100);
vector<int> suma(100);
vector<int> valori(100);

void DFS(int start)
{
    visited[start] = true;
    suma[start] = valori[start];

    for(auto v:adj[start])
    {
        if(!visited[v])
        {
            DFS(v);
            suma[start] = max(suma[start], suma[start] + suma[v]);
        }
    }
}

int main()
{
    f>>n;

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

    int nod1, nod2;
    for(int i = 1; i <= n; i++)
    {
        f>>nod1>>nod2;
        adj[nod1].push_back(nod2);
        adj[nod2].push_back(nod1);
    }

    DFS(1);

    int smax = -INT_MAX;
    for(int i = 1; i <= n; i++)
    {
        if(suma[i] > smax)
            smax = suma[i];
    }

    /*for(int i = 1; i <=n; i++)
    {
        cout<<suma[i]<<" ";
    }
    cout<<endl;*/

    g<<smax;

    return 0;
}