#85. 叠箱子

叠箱子

题目描述

你有 nn 个箱子,编号从 11nn,每个箱子有三个属性,以第 ii 个箱子为例,分别是重量 wiw_i,承重能力 sis_i,价值 viv_i

你想建一座塔,因此需要将一些箱子堆叠起来,但是每个箱子必须满足下面的条件:

  • 这个箱子上面的所有箱子重量和要小于等于这个箱子的承重能力。

定义一个塔的价值为它所用的所有箱子的价值和。

最大化这个塔的价值并输出它。

输入格式

第一行一个整数 nn,表示箱子数量。

接下来 nn 行,一行三个整数,用来描述这个箱子的三个属性 wi,si,viw_i,s_i,v_i

输出格式

一行一个整数,表示塔的最大价值。

样例 #1

样例输入 #1

3
2 2 20
2 1 30
3 1 40

样例输出 #1

50

样例 #2

样例输入 #2

4
1 2 10
3 1 10
2 4 10
1 6 10

样例输出 #2

40

样例 #3

样例输入 #3

5
1 10000 1000000000
1 10000 1000000000
1 10000 1000000000
1 10000 1000000000
1 10000 1000000000

样例输出 #3

5000000000

样例 #4

样例输入 #4

8
9 5 7
6 2 7
5 7 3
7 8 8
1 9 6
3 3 3
4 1 7
4 5 5

样例输出 #4

22

提示

数据范围

n103,1wi,si104,1vi109n \le 10^3, 1 \le w_i, s_i \le 10^4, 1 \le v_i \le 10^9