Educational DP Contest AtCoder X - Tower

View as PDF

Submit solution

Points: 20
Time limit: 1.0s
Memory limit: 1G

Problem type

There are N blocks, numbered 1,2,,N. For each i (1iN), Block i has a weight of wi, a solidness of si, and a value of vi.

Taro has decided to build a tower by choosing some of the N blocks and stacking them vertically in some order. Here, the tower must satisfy the following condition:

  • For each Block i contained in the tower, the sum of the weights of the blocks stacked above it is not greater than si.

Find the maximum possible sum of the values of the blocks contained in the tower.

Constraints

  • All values in input are integers.
  • 1N103
  • 1wi,si104
  • 1vi109

Input Specification

The first line will contain the integer N.

The next N lines will each contain three integers, wi,si,vi.

Output Specification

Print the maximum possible sum of the values of the blocks contained in the tower.

Sample Input 1

Copy
3
2 2 20
2 1 30
3 1 40

Sample Output 1

Copy
50

Explanation For Sample 1

If Blocks 2,1 are stacked in this order from top to bottom, this tower will satisfy the condition, with the total value of 30+20=50.

Sample Input 2

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

Sample Output 2

Copy
40

Explanation For Sample 2

Blocks 1,2,3,4 should be stacked in this order from top to bottom.

Sample Input 3

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

Sample Output 3

Copy
5000000000

Explanation For Sample 3

The answer may not fit into a 32-bit integer type.

Sample Input 4

Copy
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

Sample Output 4

Copy
22

Explanation For Sample 4

We should, for example, stack Blocks 5,6,8,4 in this order from top to bottom.


Comments

There are no comments at the moment.