Pagini recente » Cod sursa (job #2812812) | Cod sursa (job #900935) | Cod sursa (job #2937743) | Cod sursa (job #803844) | Cod sursa (job #278525)
Cod sursa(job #278525)
#include <cstdio>
#include <algorithm>
struct el {
int u, d;
};
inline bool comp(el a, el b)
{ return a.u * b.d > a.d * b.u; }
int main()
{
const int NMAX = 1002;
int N, W, i, e, c;
el frac[NMAX];
freopen("energii.in", "r", stdin);
freopen("energii.out", "w", stdout);
scanf("%d %d\n", &N, &W);
for (i = 0; i != N; ++i) {
scanf("%d %d", &e, &c);
frac[i].u = e;
frac[i].d = c;
}
std::sort(frac, frac + N, comp);
e = c = 0;
for (i = 0; i != N && e < W; ++i) {
e += frac[i].u;
c += frac[i].d;
}
if (e < W) c = -1;
printf("%d\n", c);
return 0;
}