Pagini recente » Cod sursa (job #663119) | Cod sursa (job #1519243) | Cod sursa (job #638031) | Cod sursa (job #739622) | Cod sursa (job #1891626)
#include<cstdio>
using namespace std;
const int NMAX=10005;
int greutate[NMAX],profit[NMAX],castig[NMAX][NMAX];
int main(){
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
int n,g,i,j;
scanf("%d%d", &n, &g);
for(i=1;i<=n;i++)
scanf("%d%d", &greutate[i], &profit[i]);
///castig[n][g]=castigul maxim
for(i=1;i<=n;i++){
for(j=1;j<=g;j++){
if(greutate[i]<=j){
if(profit[i]+castig[i-1][j-greutate[i]]>castig[i-1][j]){
castig[i][j]=profit[i]+castig[i-1][j-greutate[i]];
}
else{
castig[i][j]=castig[i-1][j];
}
}
else{
castig[i][j]=castig[i-1][j];
}
}
}
printf("%d", castig[n][g]);
return 0;
}