Pagini recente » simularegrafuri | contestz | Cod sursa (job #115480) | Cod sursa (job #718047) | Cod sursa (job #2030342)
#include <cstdio>
using namespace std;
int N,G,i,w,p,a[2][10001],j;
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
scanf("%d %d",&N,&G);
for(i=1; i<=N; i++)
{
scanf("%d %d",&w,&p);
if(i%2)
{
for(j=1; j<=G; j++)
{
if(j < w)
a[0][j] = a[1][j];
else
a[0][j] = a[1][j] < a[1][j-w] + p ? a[1][j-w] + p : a[1][j];
}
}
else
{
for(j=1; j<=G; j++)
{
if(j < w)
a[1][j] = a[0][j];
else
a[1][j] = a[0][j] < a[0][j-w] + p ? a[0][j-w] + p : a[0][j];
}
}
}
printf("%d\n",a[1][G]);
return 0;
}