いちばん高い塔を建てる


作成日:2022年2月24日午後3:04

インプリメンテーションコード

# 가장 높은 탑 쌓기
import sys
sys.stdin = open("input.txt", "rt")

n = int(input())
arr = []
for _ in range(n):
    a, b, c = map(int, input().split())
    arr.append((a, b, c))
arr.sort(reverse=True)

dy = [0]*(n)
dy[0] = arr[0][1]

for i in range(1, n):
    maxHeight = 0
    for j in range(0, i):
        if arr[j][2] > arr[i][2] and dy[j] > maxHeight:
            maxHeight = dy[j]
    dy[i] = maxHeight + arr[i][1]

print(max(dy))
  • 幅で、重量の中で1つの要素を基準にして降順に並べ替えます.