Cod sursa(job #3280497)

Utilizator ShAwDoRneYNacu Gabriel ShAwDoRneY Data 26 februarie 2025 16:46:02
Problema Asmax Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
#include <vector>

using namespace std;

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

int Sum_Max(int node, int parent, vector<int> &arr, vector<vector<int>> &graph) {
    
    int val = arr[node];
    for(auto neighbor : graph[node]) {
        if(neighbor != parent) {
            val = max(val, Sum_Max(neighbor, node, arr, graph)+val);
        }
    }
    return val;
}

int main() {

    int N;
    fin >> N;
    vector<int> arr(N+1);

    for(int i=1; i<=N; i++)
        fin >> arr[i];

    vector<vector<int>> graph(N+1, vector<int>());

    for(int i=1; i<=N; i++) {
        int x,y;
        fin >> x >> y;
        graph[x].push_back(y);
        graph[y].push_back(x);
    }

    fout << Sum_Max(1, -1, arr, graph);

    return 0;
}