#include<bits/stdc++.h>
using namespace std;
struct node{
int w;
int v;
}a[101];
bool cmp(node aa,node bb){
return aa.v*bb.w>aa.w*bb.v;
}
int n,m;
double ans=0;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i].w;
cin>>a[i].v;
}
sort(a,a+n,cmp);
for(int i=1;i<=n;i++){
if(a[i].w<=m){
ans+=a[i].v;
m-=a[i].w;
}else{
ans+=a[i].v*m*1.0/(a[i].w*1.0);
break;
}
}
printf("%.2lf",ans);
return 0;
}
大佬帮忙看一下