Pagini recente » Cod sursa (job #1956732) | Cod sursa (job #1405905) | Cod sursa (job #237688) | Cod sursa (job #2462719) | Cod sursa (job #864207)
Cod sursa(job #864207)
#include<cstdio>
#include<algorithm>
using namespace std;
int n,i,w,sum,costt;
struct interval{
int put;
int cost;
float rap;
};
interval temp[9005];
bool cmp(interval A,interval B){
return A.rap > B.rap;
}
int main () {
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d",&n);
scanf("%d",&w);
for ( i = 1 ; i <= n ; i++ )
{ scanf("%d%d",&temp[i].put,&temp[i].cost);
sum += temp[i].put;
temp[i].rap= float(temp[i].put) / float(temp[i].cost) ;
}
if( sum < w )
printf("-1\n");
else {
sort(temp + 1,temp + n +1,cmp);
i=1;
while( costt < w )
{ costt += temp[i].cost;
i++;
}
printf("%d",costt);
}
return 0;
}