只有80分
#include<bits/stdc++.h>
using namespace std;
int read(){
int a=0,k=1;
char c=getchar();
while(!isdigit(c)){
if(c=='-')
k=-1;
c=getchar();
}
while(isdigit(c)){
a=a*10+c-'0';
c=getchar();
}
return a*k;
}
struct you{
double w,v;
double d;
}a[100005];
bool cmp(you x,you y){
return x.d>y.d;
}
double ans;
int main(){
int n=read();
double W;
scanf("%lf",&W);
for(int i=1;i<=n;i++)
{
scanf("%lf%lf",&a[i].w,&a[i].v);
a[i].d=a[i].v/a[i].w;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
if(a[i].w>W){
ans+=W*a[i].d;
printf("%.2lf",ans);
break;
}
else{
ans+=a[i].v;
W-=a[i].w;
}
}
return 0;
}