萌新初学OI,代码写的不好
#include<bits/stdc++.h>
struct jb
{
int m,v;
double xjb;
};
bool cmp(jb a,jb b)
{
return a.xjb>b.xjb;
}
int main()
{
int n,t;
double xs=0;
jb b[101];
scanf("%d%d",&n,&t);
for(int i=0;i<=n;i++)
{
scanf("%d%d",&b[i].m,&b[i].v);
b[i].xjb=b[i].v/b[i].m;
}
std::sort(b,b+n,cmp);
while(t>0)
{
for(int i=0;i<=n;i++)
{
if(b[i].v<=t)
{
t=t-b[i].v;
xs=xs+b[i].v;
}
else
{
for(int j=n;j>=0;j--)
{
if(b[i].xjb*j<=t)
{
t=t-b[i].xjb*j;
xs=xs+b[i].xjb*j;
}
}
}
}
}
printf("%.2lf",xs);
return 0;
}