Charm Bracelet
Time Limit: 1000MS |
|
Memory Limit: 65536K |
Total Submissions: 24914 |
|
Accepted: 11226 |
Description Bessie have gone to the mall ' s jewelry store and spies a charm bracelet. Of course, she ' d like-to-fill it with the best charms possible from the N (1≤ n ≤3,402) available Char Ms. Each charm I in the supplied list has a weight wi (1≤ wi ≤400), a ' desirability ' factor C5>di (1≤ Di ≤100), and can be used at the most once. Bessie can only support a charm bracelet whose weight are no more than m (1≤ m ≤12,880). Given that weight limit as a constraint and a list of the charms with their weights and desirability rating, deduce the MA Ximum possible sum of ratings. Input * Line 1:two space-separated integers: N and M * Lines 2. N+1:line i+1 describes charm I with II space-separated integers: Wi and Di Output * Line 1: A single integer which is the greatest sum of charm desirabilities so can be achieved given the weight Constrai Nts Sample Input 4 61 42 63 122 7
Sample Output 23
Source Usaco December Silver |
Naked Backpack.
Code:
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm>using namespace Std;const int maxn=30000+1000;int Dp[maxn];int main () { int n,m,w,v; while (~SCANF ("%d%d", &n,&m)) { memset (dp,0,sizeof (DP)); for (int i=0;i<n;i++) { scanf ("%d%d", &w,&v); for (int j=m;j>=w;j--) { Dp[j]=max (dp[j-w]+v,dp[j]); } } int ans=0; for (int i=0;i<=m;i++) Ans=max (Ans,dp[i]); printf ("%d\n", ans); } return 0;}
POJ 3624 Charm Bracelet (backpack)