#include<bits/stdc++.h>
using namespace std;
int main(){
double a[1000][5]={0};
double b[1000]={0};
double sum = 0;
double summ = 0;
double n, t;
cin>>n>>t;
for(int i=1;i<=n;i++){
cin>>a[i][1]>>a[i][2];
b[i]=1.0*a[i][2] / a[i][1];
}
for(int i=1;i<=n;i++){
int p = 0, max=0;
for(int j=1;j<=n;j++){
if(max<b[j]){
max = b[j];
p = j;
}
}
if(t<sum+a[p][1]){
summ += b[p] * (t-sum);
sum = t;
break;
}else{
sum += a[p][1];
summ += a[p][2];
b[p] = 0;
}
}
printf("%.2lf", summ);
return 0;
}
感觉是思路上的问题,但不知道错到哪里了,求大佬指教