Pagini recente » Cod sursa (job #1078979) | Cod sursa (job #1239087) | Cod sursa (job #1901086) | Cod sursa (job #2933991) | Cod sursa (job #1889989)
#include <cstdio>
#include <iostream>
using namespace std;
const int nmx = 10002;
int dp[nmx];
int main()
{
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
int gmax = 0,n,x;
scanf("%d %d", &n, &x);
for(int i = 1; i <= n; ++i)
{
int val,greutate;
scanf("%d %d", &greutate, &val);
gmax += greutate;
gmax = min(gmax,x);
for(int j = gmax; j >= greutate; --j)
dp[j] = max(dp[j],dp[j-greutate] + val);
}
printf("%d\n", dp[gmax]);
return 0;
}