Pagini recente » Cod sursa (job #901735) | Cod sursa (job #2326867) | Cod sursa (job #1352961) | Cod sursa (job #1409762) | Cod sursa (job #1919688)
#include <bits/stdc++.h>
using namespace std;
int n,a[10002],b[10002],gmax,gr,val;
void fix(int a[],int b[])
{
for(int r=0;r<=gmax;r++){
a[r]=b[r];
if(r>=gr)
a[r]=max(a[r],b[r-gr]+val);
}
}
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
scanf("%d %d",&n,&gmax);
for(int i=1;i<=n;i++)
{
scanf("%d %d",&gr,&val);
if(i%2) fix(a,b);
else fix(b,a);
}
printf("%d",max(a[gmax],b[gmax]));
return 0;
}