Cod sursa(job #2829391)

Utilizator bogdan2405Strat Bogdan-Valentin bogdan2405 Data 8 ianuarie 2022 16:13:53
Problema Asmax Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<bits/stdc++.h>

using namespace std;

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

vector<int> values,visited;
vector<int> adjList[16001];
int maxi=-1001;

int DFS(int x){
    visited[x]++;

    int i;
    for(i=0;i<adjList[x].size();++i){
        if(visited[adjList[x][i]]==0){
            int s=DFS(adjList[x][i]);

            if(s+values[x]>values[x])
                values[x]=values[x]+s;
        }
    }

    maxi=max(maxi,values[x]);

    return values[x];
}

int main(){
    int n,a,b;
    f>>n;
    int i;
    

    for(i=0;i<n;++i){
        f>>a;
        values.push_back(a);
        visited.push_back(0);
    }

    for(i=0;i<n-1;++i){
        f>>a>>b;
        adjList[a-1].push_back(b-1);
        adjList[b-1].push_back(a-1);
    }
    DFS(0);

    g<<maxi;
    return 0;

}