改了快一个小时了,还是只有第一个点AC,dalao们帮帮蒟蒻吧!!!
#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
struct cmd
{
double m,v,xjb;
}jb[110];
int cmp(cmd a,cmd b)
{
return a.xjb>b.xjb;
}
double sum=0.00;
int main()
{
int n,t;
cin>>n>>t;
for(int i=1;i<=n;i++)
{
cin>>jb[i].m>>jb[i].v;
jb[i].xjb=(jb[i].m*1.0)/jb[i].v;
}
sort(jb+1,jb+1+n,cmp);
for(int i=1;i<=n;i++)
{
if(t>=jb[i].m)
{
sum+=jb[i].v;
t-=jb[i].m;
}
else
{
sum+=t*jb[i].xjb;
break;
}
}
printf("%.2lf",sum);
return 0;
}