Pagini recente » Cod sursa (job #1616473) | Cod sursa (job #1679496) | Cod sursa (job #210415) | Cod sursa (job #1320427) | Cod sursa (job #2695442)
file = open("asmax.in", "r")
data = file.read().split("\n")
file.close()
data.reverse()
input = data.pop()
nbNodes = int(input())
values = list(map(int, input().split()))
connections = [[] for i in range(nbNodes)]
for iconnection in range(nbNodes-1):
node1, node2 = map(int, input().split())
connections[node1-1].append(node2-1)
connections[node2-1].append(node1-1)
def Maxi(start):
global alreadyDone
global maxFinal
maxNode = values[start]
for nextNode in connections[start]:
if not(alreadyDone[nextNode]):
alreadyDone[nextNode] = True
maxNode += max(0, Maxi(nextNode))
maxFinal = max(maxFinal, maxNode)
return maxNode
alreadyDone = [False for i in range(nbNodes)]
maxFinal = values[0]
Maxi(0)
file = open("asmax.out", "w")
file.write(str(maxFinal))
file.close()