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