Pagini recente » Cod sursa (job #1689207) | Cod sursa (job #1273402) | Cod sursa (job #3282007) | Cod sursa (job #2423430) | Cod sursa (job #3290309)
#include<fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int tablou[10005][2];
int n, G, i, p, g, j;
int main() {
fin>>n>>G;
for (i = 1; i <= n; i++) {
fin>>g>>p;
for (j = 1; j <= G; j++) {
if (g == j)
tablou[j][1] = max(p, tablou[j][0]);
if (g < j) {
if (tablou[j-g][0] != 0)
tablou[j][1] = max(tablou[j-g][0] + p, tablou[j][0]);
else
tablou[j][1] = tablou[j][0];
}
if (g > j)
tablou[j][1] = tablou[j][0];
}
for (j = 1; j <= G; j++) {
tablou[j][0] = tablou[j][1];
//fout<<tablou[j][0]<<" ";
tablou[j][1] = 0;
}
//fout<<endl;
}
int maxi = 0;
for (i = 1; i <= G; i++) {
maxi = max(maxi, tablou[i][0]);
}
fout<<maxi;
return 0;
}