测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A6987. [USACO05MAR] Space Elevator 太空电梯

编程题 普及/提高-

题目描述

奶牛们要去太空了!它们打算用方块建造一座太空电梯。现在它们有 $N$ 种方块,第 $i$ 种方块有一个特定的高度 $h_i$,一定的数量 $c_i$。为了防止宇宙射线破坏方块,第 $i$ 种方块的任何部分都不能超过高度 $a_i$(即该方块的顶部高度必须 $\le a_i$)。

请用这些方块堆出最高的太空电梯。

输入格式

第一行,一个整数 $N$;
第二行到 $N+1$ 行,第 $i+1$ 行三个整数 $h_i,a_i,c_i$,数字之间用空格分隔,分别表示方块的高度、最大高度限制、数量。

输出格式

共一行,一个整数,为太空电梯的高度。

输入输出样例

输入 #1
3
7 40 3
5 23 8
2 52 6
输出 #1
48

说明/提示

### 样例解释

我们将三种方块按最大高度限制从小到大排序:

1. 方块 B: $h=5, a=23, c=8$
2. 方块 A: $h=7, a=40, c=3$
3. 方块 C: $h=2, a=52, c=6$

一种最优的堆叠方案如下:

1. 最底层:放 3 个方块 B。高度累计:$3 \times 5 = 15$。由于 $15 \le 23$,符合限制。
2. 中间层:放 3 个方块 A。高度累计:$15 + 3 \times 7 = 36$。由于 $36 \le 40$,符合限制。
3. 最顶层:放 6 个方块 C。高度累计:$36 + 6 \times 2 = 48$。由于 $48 \le 52$,符合限制。

总高度为 48。

### 数据范围

对于 $100\%$ 的数据:$1\le N\le 400$,$1\le h_i \le 100$,$1\le c_i\le 10$,$1\le a_i\le 4\times 10^4$。
上一题 去做题 下一题