Cod sursa(job #2610610)

Utilizator alex2209alexPavel Alexandru alex2209alex Data 5 mai 2020 10:41:13
Problema Asmax Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("asmax.in");
ofstream g("asmax.out");
int v[16001],rasp,d[16001];
vector<int>muchii[16001];
void dfs(int nod,int par)
{
	d[nod] = v[nod];
	for(auto it : muchii[nod])
		if(it != par)
		{
		    dfs(it,nod);
		    if(d[it] > 0)
                d[nod] += d[it];
		}
    rasp = max(rasp,d[nod]);
}
int main()
{
	int n;
	f >> n;
	for(int i = 1; i <= n; ++i)
		f >> v[i];
	for(int i = 1; i < n; ++i)
	{
		int x,y;
		f >> x >> y;
		muchii[x].push_back(y);
		muchii[y].push_back(x);
	}
	rasp = v[1];
	dfs(1,0);
	g << rasp;
	return 0;
}