#include<bits/stdc++.h>
using namespace std;
struct info
{
int m, n;
double per;
}g[128];
bool cmp(info a,info b)
{
return a.per > b.per;
}
int main()
{
int k, d;
double ans=0;
cin >> k >> d;
for (int i = 1; i <= k; i++)
{
cin >> g[i].m >> g[i].n;
g[i].per = (double) g[i].n / g[i].m;
}
int l = 0;
sort(g + 1, g + k + 1, cmp);
for (int i = 1; i <= k; i++)
{
if (d >= g[i].m)
ans += g[i].n, d -= g[i].m;
if (d < g[i].m and d > 0)
{
ans += g[i].per * d, d = 0;
break;
}
}
printf("%.2f", ans);
return 0;
}
不知道哪里出问题了555