Cod sursa(job #2677990)

Utilizator rares8wAncuta Rares rares8w Data 27 noiembrie 2020 21:49:09
Problema Asmax Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>
#include <queue>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;

ifstream f("asmax.in");
ofstream g("asmax.out");
int n, v[16005], p[16005],suma_maxima=-2000000000;
vector<int> a[16005];
int x, y, k;
int dfs(int x)
{
	p[x] = 1;
	for (int j = 0; j < a[x].size(); j++)
	{
		if (!p[a[x][j]])
		{
			int ceva = dfs(a[x][j]);
			if (ceva > 0)
				v[x] += ceva;
		}
	}
	return v[x];
}
int main()
{
	f >> n;
	for (int i = 1; i <= n; i++)
	{
		f >> x;
		v[i] = x;
	}
	while (f >> x >> y)
	{
		a[x].push_back(y);
		a[y].push_back(x);
	}
	x= dfs(1);
	for (int i = 1; i <= n; i++)
		if (v[i] > suma_maxima)
			suma_maxima = v[i];
	g << suma_maxima;
	return 0;
}