离谱
#include <bits/stdc++.h>
using namespace std;
struct Coin{
int m;
int v;
double each;
};
bool cmp(Coin a,Coin b){
if(a.each>b.each) return true;
else return false;
}
Coin luogu[105];
int main(){
int n,t,sum=0,cnt=0;
cin>>n>>t;
for(int i=0;i<n;i++){
cin>>luogu[i].m>>luogu[i].v;
luogu[i].each=1.0*luogu[i].m/luogu[i].v;
}
sort(luogu,luogu+n,cmp);
while(sum<=t){
int i=0;
i++;
if(luogu[i].m<=t){
cnt+=luogu[i].v;
sum+=luogu[i].m;
}
else{
if(sum==0){
cnt+=luogu[i].each*(t/luogu[i].m);
sum+=t/luogu[i].m;
}
else{
cnt+=luogu[i].each*(sum/luogu[i].m);
sum+=sum/luogu[i].m;
}
}
}
cout<<fixed<<setprecision(2)<<1.0*cnt;
return 0;
}