萌新初学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=double(b[i].v)/double(b[i].m)*1.0;
}
std::sort(b,b+n,cmp);
while(t>0)
{
for(int i=0;i<n;i++)
{
if(b[i].m<=t)
{
t=t-b[i].m;
xs=xs+b[i].xjb*b[i].m;
}
else
{
xs = xs + 1.0 * t * b[i].xjb;
t = 0;
}
}
}
printf("%.2lf",xs);
return 0;
}