Pagini recente » Cod sursa (job #847452) | Cod sursa (job #2190739) | Cod sursa (job #1355104) | Cod sursa (job #1721465) | Cod sursa (job #3165151)
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int dp[2][10005];
int main(){
int answer = 0;
int n, g;
fin >> n >> g;
for (int i = 1; i <= n; i++){
for (int j = 0; j <= g; j++){
dp[(i % 2)][j] = 0;
}
int greutate, cost;
fin >> greutate >> cost;
for (int j = 0; j <= g; j++){
if (greutate > j){
dp[i % 2][j] = dp[(i - 1) % 2][j];
answer = max(answer, dp[i % 2][j]);
continue;
}
dp[i % 2][j] = max(dp[(i-1) % 2][j - greutate] + cost, dp[(i - 1) % 2][j]);
answer = max(answer, dp[i % 2][j]);
}
}
fout << answer;
return 0;
}