注意 保留位数是在格式前,例如
printf("%.2f",s);
#include<stdio.h>
#include<algorithm>
using namespace std;
const int maxn =50000;
struct mooncake
{
double score;
double sell;
double price;
}cake[maxn];
bool cmp(mooncake a,mooncake b)
{
return a.price>b.price;
}
int main()
{
int n;//月饼种类
int D;//总需求量;
for(int i=0;i<n;i++)
{
scanf("%d",& cake[i].score);
}
for(int i=0;i<n;i++)
{
scanf("%d",&cake[i].sell);
cake[i].price=cake[i].sell/cake[i].score;
}
sort(cake,cake+n,cmp);//sort函数将月饼按单价排序
double ans=0;
for(int i=0;i<n;i++)
{
if(cake[i].score<D)
{
ans+=cake[i].sell;
}
else
{
ans=(D-cake[i].score)*cake[i].price;
printf("%.2f\n",ans);
}
}
}