#include<bits/stdc++.h>
using namespace std;
struct str{
int weight,money;
double jz;
}coin[200];
int n,bag;
bool cmp(str x,str y){
return x.jz > y.jz;
}
int main(){
cin>>n>>bag;
for(int i = 1;i <= n;i++){
cin>>coin[i].weight>>coin[i].money;
coin[i].jz = coin[i].money / coin[i].weight;
}
sort(coin + 1,coin + n + 1,cmp);
double ans = 0.0;
int k = 1;
while(bag and k <= n){
if(bag >= coin[k].weight and bag >= coin[k].weight){
ans += coin[k].money;
bag -= coin[k].weight;
}
else if(bag < coin[k].weight){
ans += coin[k].money * bag / coin[k].weight;
bag -= bag;
}
k++;
}
printf("%.2lf",ans);
}
测试点