A6987 | [USACO05MAR] Space Elevator 太空电梯
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
奶牛们要去太空了!它们打算用方块建造一座太空电梯。现在它们有 $N$ 种方块,第 $i$ 种方块有一个特定的高度 $h_i$,一定的数量 $c_i$。为了防止宇宙射线破坏方块,第 $i$ 种方块的任何部分都不能超过高度 $a_i$(即该方块的顶部高度必须 $\le a_i$)。
请用这些方块堆出最高的太空电梯。
请用这些方块堆出最高的太空电梯。
输入格式
第一行,一个整数 $N$;
第二行到 $N+1$ 行,第 $i+1$ 行三个整数 $h_i,a_i,c_i$,数字之间用空格分隔,分别表示方块的高度、最大高度限制、数量。
第二行到 $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$。
我们将三种方块按最大高度限制从小到大排序:
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$。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?