Pagini recente » Cod sursa (job #589307) | Cod sursa (job #1423039) | Cod sursa (job #2640534) | Cod sursa (job #1243924) | Cod sursa (job #2695443)
file = open("asmax.in", "r")
data = file.read().split("\n")
file.close()
data.reverse()
def Input():
global data
return 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()