Pagini recente » Cod sursa (job #1411337) | Cod sursa (job #2768785) | Cod sursa (job #2431537) | Cod sursa (job #513953) | Cod sursa (job #2342873)
#include <iostream>
#include <cstdio>
using namespace std;
int dinamic[5005], G, n, maxim = 0;
int W[5005], P[5005];
void rez()
{
scanf("%d %d", &n, &G);
for(int i = 1; i<=n; i++)
{
scanf("%d %d", &W[i], &P[i]);
}
for(int i = 1; i<=n; i++)
{
for(int j = G-W[i]; j>=0; j--)
{
if(dinamic[j+W[i]] < dinamic[j] + P[i])
{
dinamic[j+W[i]] = dinamic[j] + P[i];
if(dinamic[j+W[i]] > maxim)
{
maxim = dinamic[j+W[i]];
}
}
}
}
printf("%d", maxim);
}
int main()
{
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
rez();
return 0;
}