KNAPSACK  The Knapsack Problem
The famous knapsack problem. You are packing for a vacation on the sea side and you are going to carry only one bag with capacity S (1 <= S <= 2000). You also have N (1<= N <= 2000) items that you might want to take with you to the sea side. Unfortunately you can not fit all of them in the knapsack so you will have to choose. For each item you are given its size and its value. You want to maximize the total value of all the items you are going to bring. What is this maximum total value?
Input
On the first line you are given S and N. N lines follow with two integers on each line describing one of your items. The first number is the size of the item and the next is the value of the item.
Output
You should output a single integer on one like  the total maximum value from the best choice of items for your trip.
Example
Input: 4 5 1 8 2 4 3 0 2 5 2 3 Output: 13
hide comments
realife_playa:
20170911 08:57:05
Should be the first problem for anyone attempting to learn Dynamic Programming. 

nadstratosfer:
20170831 11:00:53
With Python, topdown+memo > RE, bottomup > TLE. Same with most of DP problems on this site. Better off bruteforcing with C than bother implementing correct algorithms in something else. Tutorial my ass. 

dunjen_master:
20170811 21:09:30
AC in one go


jskrnbindra:
20170608 11:44:27
Last edit: 20170608 11:44:47 

da_201501181:
20170520 09:29:14
Easy..!! AC in one GO..!! 

suryansh_97:
20170122 07:58:36
MY first DP ......now the time has begun:p


billoybillyboy:
20161126 00:38:49
AC first go my 6th :D 

Harshit Joshi:
20161122 03:07:07
simple ques to practice basics.... Last edit: 20161122 03:08:17 

lvmbk93:
20160829 06:56:13
Good for beginer who the first learn dynamic programming algorithm :D 

thevillager:
20160601 13:59:04
Use DP and its done. AC .very simple problem. 
Added by:  Nikola P Borisov 
Date:  20081110 
Time limit:  0.240s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: ERL JSRHINO NODEJS PERL6 VB.NET 