Pagini recente » Cod sursa (job #1580097) | Cod sursa (job #2493387) | Cod sursa (job #2813564) | Cod sursa (job #781218) | Cod sursa (job #1512436)
#include <stdio.h>
#include <algorithm>
#define maxn 5005
#define maxg 10005
using namespace std;
int w[maxn], p[maxn], n, g, d[3][maxg];
void read()
{
scanf("%d %d", &n, &g);
int i;
for(i = 1; i <= n; i++)
scanf("%d %d", &w[i], &p[i]);
}
void solve()
{
int i,j;
for(i = 1; i <= n; i++)
for(j = 0; j <= g; j++)
{
d[1][j] = d[2][j];
if(w[i] <= j)
d[2][j] = max(d[1][j], d[1][j - w[i]] + p[i]);
}
printf("%d", d[2][g]);
}
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
read();
solve();
fclose(stdin);
fclose(stdout);
return 0;
}