Pagini recente » Cod sursa (job #875038) | Cod sursa (job #1603493) | Cod sursa (job #50963) | Cod sursa (job #2267207) | Cod sursa (job #1883646)
#include <fstream>
using namespace std;
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
int max(int a, int b){
return (a > b) ? a : b;
}
int n, g, w[5010], p[5010], d[5010][10010];
void cit(){
fin >> n >> g;
for (int i = 1; i <= n; i++){
fin >> w[i] >> p[i];
}
}
void rez(){
for (int i = 1; i <= n; i++){
for (int j = 0; j <= g; j++){
d[i][j] = d[i-1][j];
if (w[i] <= j){
d[i][j] = max(d[i][j], d[i-1][j-w[i]] + p[i]);
}
}
}
fout << d[n][g];
}
int main()
{
cit();
rez();
return 0;
}