Official
C - 会社の役職と給与 / Company Positions and Salaries Editorial
by
C - 会社の役職と給与 / Company Positions and Salaries Editorial
by
sounansya
Editorial for printing
ある社員の給与ランクは、その部下の給与ランク以下である必要があります。このことから、番号の大きい順に給与ランクができるだけ大きくなるように決めていけば良いことが分かります。
社長の給与ランクは \(1\) である必要があることに注意してください。
import sys
input = sys.stdin.readline
n = int(input())
g = [[] for _ in range(n)]
u = [0] * n
u[0] = min(int(input()), 1)
for i in range(1, n):
p, u[i] = map(int, input().split())
g[p - 1].append(i)
for i in range(n - 1, -1, -1):
for j in g[i]:
u[i] = min(u[i], u[j])
print(-1 if u[0] == 0 else sum(u))
posted:
last update:
