Pagini recente » Cod sursa (job #2689705) | Cod sursa (job #1838443) | Cod sursa (job #162035) | Cod sursa (job #871130) | Cod sursa (job #2668851)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
const int NMAX = 5001;
int N, WEIGHT, weight[NMAX], power[NMAX], dp[2 * NMAX];
int main() {
f >> N >> WEIGHT;
for(int i = 1;i <= N;++i) f >> weight[i] >> power[i];
dp[0] = 1;
for(int i = 1;i <= N;++i) {
for(int j = WEIGHT;j >= weight[i];--j)
if(dp[j - weight[i]])
dp[j] = max(dp[j], dp[j - weight[i]] + power[i]);
}
g << dp[WEIGHT] - 1;
return 0;
}