一、题目
二、源代码
#include<stdio.h>
int main()
{
int n,d,i,j,k=0;
scanf("%d %d",&n,&d);
double temp,num[1001],price[1001],s[1001];
double t=0,sum=0;
for(i=0;i<n;i++)scanf("%lf",&num[i]);
for(i=0;i<n;i++)
{
scanf("%lf",&price[i]);
s[i]=price[i]/num[i];
}
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(s[i]<s[j])
{
temp=s[i];s[i]=s[j];s[j]=temp;
temp=num[i];num[i]=num[j];num[j]=temp;
temp=price[i];price[i]=price[j];price[j]=temp;
}
}
}
while(t!=d)
{
if(t+num[k]<=d)
{
t+=num[k];
sum+=price[k];
}
else
{
sum+=(d-t)*s[k];
t=d;
}
if(k==n-1 && t!=d)break;
k++;
}
printf("%.2lf\n",sum);
return 0;
}
三、运行结果