Cod sursa(job #2695442)

Utilizator geo_uwuManolachi George geo_uwu Data 13 ianuarie 2021 00:10:26
Problema Asmax Scor 0
Compilator py Status done
Runda Arhiva de probleme Marime 0.86 kb
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()