传送门
#include<bits/stdc++.h>
using namespace std;
struct data {int m,v;double q;};
bool cmp(data a,data b){return a.q>b.q;}
data m[1000];
int n,s;
double ans;
int main()
{
cin>>n>>s;
for(int i=1;i<=n;i++)
{
cin>>m[i].m>>m[i].v;
m[i].q=m[i].v/m[i].m*1.0;
}
sort(m+1,m+n+1,cmp);
for(int i=1;i<=n;i++)
{
if(s-m[i].m<0)
{
ans+=m[i].q*s*1.0;
break;
}
else
{
ans+=m[i].v;
s-=m[i].m;
}
}
cout<<fixed<<setprecision(2)<<ans;
return 0;
}