Pagini recente » Cod sursa (job #3367731) | Cod sursa (job #3367625) | Cod sursa (job #3367512) | Cod sursa (job #3367629) | Cod sursa (job #3367636)
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct Value {
int pret, greutate;
float value;
bool operator<(const Value& altul)const {
return value < altul.value;
}
};
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
int n, g, total = 0;
cin >> n>>g;
vector<Value>valoare(n);
for (int i = 0; i < n; i++) {
cin >> valoare[i].greutate>>valoare[i].pret;
valoare[i].value = valoare[i].pret / valoare[i].greutate;
}
sort(valoare.begin(), valoare.end());
for (int i = n - 1; i > 0; i--) {
if (valoare[i].greutate < g) {
total += valoare[i].pret;
g -= valoare[i].greutate;
}
else {
cout << total;
break;
}
}
}