Pagini recente » Cod sursa (job #2218941) | Cod sursa (job #1030518) | Cod sursa (job #311316) | Cod sursa (job #2200936) | Cod sursa (job #758952)
Cod sursa(job #758952)
#include <cstdio>
using namespace std;
int w[5001], p[5001];
int best[10001];
int n, g;
int main()
{
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
scanf("%d%d", &n, &g);
for (int i = 0; i < n; i++)
{
scanf("&d&d", &w[i], &p[i]);
}
best[0] = 0;
int s = 0;
for (int i = 0; i < n; i++)
for (int j = g - w[i]; j >= 0; j--)
if (best[j + w[i]] < best[j] + p[i])
{
best[j + w[i]] = best[j] + p[i];
if (best[j + w[i]] > s)
s = best[j + w[i]];
}
printf("%d", s);
return 0;
}