有哪个大佬帮个忙
#include<bits/stdc++.h>
using namespace std;
int n,t,r=0,x=0,i,j;
double sum=0;
struct jb
{
double m,v,mv;
}a[1000];
bool cmp(jb a,jb b)
{
if(a.mv==b.mv) return a.m>b.m;
return a.mv>b.mv;
}
int main()
{
cin>>n>>t;
for(i=1;i<=n;i++)
{
cin>>a[i].m>>a[i].v;
a[i].mv=a[i].v/a[i].m;
}
sort(a,a+n+1,cmp);
while(r<t)
{
if(a[x].m+r>t)
{
int z=t-r;
sum+=z*a[x].mv;
r+=z;
}
else
{
r+=a[x].m;
sum+=a[x].v;
x++;
}
}
printf("%.2lf",sum);
return 0;
}