#include<iostream>
#include<algorithm>
using namespace std;
const int N=1e3;
int number,j;
double value,capacity,index;
struct money{
double weight,valude,average;
}s[N];
bool cmp(money a,money b){
return a.average>b.average;
}
int main(){
scanf("%d%lf",&number,&capacity);
for(int i=0;i<number;i++){
scanf("%lf%lf",&s[i].weight,&s[i].valude);
s[i].average=s[i].valude/s[i].weight;
}
sort(s,s+number,cmp);
while(index+s[j].weight<=capacity){
index+=s[j].weight;
value+=s[j].valude;
j++;
}
value+=(capacity-index)*s[j].average;
printf("%.2lf",value);
return 0;
}
有一组数据RE了,找不出来错误