Pagini recente » Cod sursa (job #2149334) | Cod sursa (job #791348) | Cod sursa (job #1296688) | Cod sursa (job #670549) | Cod sursa (job #2000320)
#include <cstdio>
using namespace std;
int d[10005];
int main()
{
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
int n, g, w, p, l = 0;
scanf("%d%d", &n, &g);
for(int i = 1; i <= g; i++)
{
d[i] = -1;
}
for(int i = 1; i <= n; i++)
{
scanf("%d%d", &w, &p);
for(int j = l; j >= 0; j--)
{
if(j + w > g) continue;
if(d[j] != -1)
{
if(d[j + w] < d[j] + p)
{
d[j + w] = d[j] + p;
}
}
if(j + w > l)
{
l = j + w;
}
}
}
l = -1;
for(int i = 1; i <= g; i++)
{
if(d[i] > l)
{
l = d[i];
}
}
printf("%d", l);
return 0;
}