公式
C - 会社の役職と給与 / Company Positions and Salaries 解説
by
C - 会社の役職と給与 / Company Positions and Salaries 解説
by
sounansya
ある社員の給与ランクは、その部下の給与ランク以下である必要があります。このことから、番号の大きい順に給与ランクができるだけ大きくなるように決めていけば良いことが分かります。
社長の給与ランクは \(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))
投稿日時:
最終更新:
