(只有一个AC 其他全WA)
#include<bits/stdc++.h>
#define int long long
using namespace std;
struct node{
int m, v;
int mv;
}nd[1000];
bool cmd(node x, node y) {
return x.mv<y.mv;
}
signed main() {
int n, t;
cin >> n >> t;
double ans = 0.00;
for (int i = 0; i < n; i++) {
cin >> nd[i].m >> nd[i].v;
nd[i].mv = (1.0 * nd[i].v) / nd[i].m;
}
sort(nd, nd+n, cmd);
for (int i = 0; i < n; i++) {
if (t >= nd[i].m) {
t -= nd[i].m;
ans += nd[i].v;
} else {
ans += nd[i].mv*(nd[i].m-t);
t = 0;
break;
}
}
printf("%.2f\n", ans);
return 0;
}