Pagini recente » Cod sursa (job #869989) | Cod sursa (job #2154602) | Cod sursa (job #1855907) | Cod sursa (job #2736704) | Cod sursa (job #2156695)
#include <cstdio>
#include <algorithm>
using namespace std;
struct kk{
int m, g;
float p;
}v[5005];
bool cmp(kk a, kk b){
return a.p > b.p;
}
int main()
{
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
int n, m, pr, g, i, s, nr;
scanf("%d%d", &n, &m);
for(i = 0;i < n;i++){
scanf("%d%d", &g, &pr);
v[i].g = g;
v[i].m = pr;
v[i].p = 1.0 * pr / g;
}
sort(v, v + n, cmp);
s = 0;
nr = 0;
for(i = 0;i < n;i++){
if(s + v[i].g < m){
s += v[i].g;
nr += v[i].m;
}
}
printf("%d", nr);
return 0;
}