Pagini recente » Cod sursa (job #1258262) | Monitorul de evaluare | Cod sursa (job #2215202) | Cod sursa (job #2270568) | Cod sursa (job #1891650)
#include<cstdio>
using namespace std;
const int NMAX=5005;
int greutate[NMAX],profit[NMAX],castig[NMAX][NMAX*2];
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;
}