Pagini recente » Cod sursa (job #2545943) | Cod sursa (job #249948) | Cod sursa (job #1668029) | Cod sursa (job #2401698) | Cod sursa (job #1175853)
#include <fstream>
#define DMAX 5001
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n, G;
int w[DMAX], p[DMAX];
bool uz[DMAX];
int main(){
int i, ok, poz;
int sum = 0, weight = 0;
int sumAct, weightAct;
fin >> n >> G;
for (i = 1; i <= n; i++) fin >> w[i] >> p[i];
ok = 1;
while (ok){
ok = 0;
poz = 0;
sumAct = sum;
weightAct = weight;
for (i = 1; i <= n; i++){
if (!uz[i] && weight + w[i] <= G && sum + p[i] > sumAct){
poz = i;
sumAct = sum + p[i];
weightAct = weight + w[i];
ok = 1;
}
}
uz[poz] = true;
sum = sumAct;
weight = weightAct;
}
fout << sum;
return 0;
}