0-1 Knapsack

Title

Problem Statement

There are N items, numbered 1, 2, \ldots, N. For each i (1 ≤ i ≤ N), Item i has a weight of wi and a value of vi.

Taro has decided to choose some of the N items and carry them home in a knapsack. The capacity of the knapsack is W, which means that the sum of the weights of items taken must be at most W.

Find the maximum possible sum of the values of items that Taro takes home.

Constraints

  • All values in input are integers.
  • 1 ≤ N ≤ 100
  • 1 ≤ W ≤ 105
  • 1 ≤ wi ≤ W
  • 1 ≤ vi ≤ 109

Input

Input is given from Standard Input in the following format:

N W
w1 v1
w2 v2
:
wN vN

Output

Print the maximum possible sum of the values of items that Taro takes home.

Sample Input 1

3 8
3 30
4 50
5 60

Sample Output 1

90

Items 1 and 3 should be taken. Then, the sum of the weights is 3 + 5 = 8, and the sum of the values is 30 + 60 = 90.

Sample Input 2

5 5
1 1000000000
1 1000000000
1 1000000000
1 1000000000
1 1000000000

Sample Output 2

5000000000

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

Sample Input 3

6 15
6 5
5 6
6 4
6 6
3 5
7 2

Sample Output 3

17

Items 2, 4 and 5 should be taken. Then, the sum of the weights is 5 + 6 + 3 = 14, and the sum of the values is 6 + 6 + 5 = 17.


Submitting to '0-1 Knapsack'


You're not logged in! Click here to login


Submitting .cpp to '0-1 Knapsack'


You're not logged in! Click here to login


Compile Errors


							
Time Limit: 1 Seconds
Memory Limit: 1024MB
No. of ACs: 40
Your best score: 0
Source: Classic problem (Atcoder Educational DP Contest)

Subtask Score
1 100
2 0