改了n次后,又改回来了,实在不知道哪里出错
#include<bits/stdc++.h>
using namespace std;
struct d{
double mu,m,u;
};
bool qqq(d a,d b){
return a.mu>b.mu;
}
int main(){
int n,t,i=0,j=0;double mn=0;
cin>>n>>t; d l[n];
for(;i<n;i++){
cin>>l[i].m>>l[i].u;
l[i].mu=1.0*l[i].u/l[i].m;
}i=0;
sort(l,l+n,qqq);
while(j<t&&i<=n){
if(l[i].u<=(t-j)){
mn+=l[i].u;
j+=l[i].m;
}else{
mn+=1.0*(t-j)*l[i].mu;
j=t;
}
i++;
}
printf("%.2lf",mn);
}