Pagini recente » Cod sursa (job #2903159) | Cod sursa (job #1759034) | Cod sursa (job #1073613) | Cod sursa (job #1087439) | Cod sursa (job #1956663)
#include <stdio.h>
#define FIN "rucsac.in"
#define FOUT "rucsac.out"
#define MAXW 5020
#define MAXC 5020
#define MAXP 100
int main() {
int i,j,
n,//number of objects
g,//capacity of the knapsack
w[ MAXW ], //weight
c[ MAXC ], //costs
P[ MAXP ][ MAXP ]; //profits
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
scanf("%d %d", &n, &g);
for(i = 1; i <= n; i++) {
scanf("%d", &w[ i ]);
scanf("%d", &c[ i ]);
}
for(i = 1; i <= n; ++i) {
for(j = 1; j <= g; ++j) {
if(w[i] <= j) {
if( P[i - 1 ][ j ] < P[i - 1][j - w[i]] + c[ i ])
P[i][j] = P[i - 1][j - w[i]] + c[ i ];
else
P[i][j] = P[ i - 1][ j ];
}
}
}
printf("%d", P[n][g]);
return(0);
}