有没有DALAO能885~
#include<bits/stdc++.h>
using namespace std;
int n,t,m[105],v[105],z;
double bz[105],s;
int main(){
cin>>n>>t;
for(int i=0;i<n;i++){
cin>>m[i]>>v[i];
bz[i]=v[i]/m[i];
}
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
if(bz[i]>bz[j]){
swap(bz[i],bz[j]);
swap(m[i],m[j]);
swap(v[i],v[j]);
}
}
}
for(int i=n-1;i>=0;i--){
if(t>m[i]){
t-=m[i];
s=s+v[i];
}
else if(t!=0){
s=s+t*bz[i];
t=0;
}
else break;
}
printf("%.2lf",s);
return 0;
}