求救
全WA
#include<bits/stdc++.h>
using namespace std;
struct Node{
int m;
int v;
double q;
}a[110];
int n;
double t,sum;
bool tmp(Node a,Node b){
if(a.q>b.q){
return 1;
}else{
return 0;
}
}
int main(){
cin>>n>>t;
for(int i=1;i<=n;i++){
cin>>a[i].m>>a[i].v;
a[i].q=a[i].v/a[i].m*1.0;
}
while(t>0){
sort(a+1,a+n+1,tmp);
if(t>=a[1].m){
t-=a[1].m;
sum+=a[1].v;
a[1].q=-1;
}else{
sum+=t*a[1].q;
t=0;
a[1].m-=t;
}
}
cout<<fixed<<setprecision(2)<<sum;
return 0;
}