PAT_1070. Mooncake

来源:互联网 发布:淘宝直通车效果怎么样 编辑:程序博客网 时间:2024/06/11 22:39
#include <iostream>#include <algorithm>using namespace std;int N;double D;struct Mooncake{double weight,price,oneWP;}mooncake[1005];int cmp(Mooncake a,Mooncake b){return a.oneWP>b.oneWP;}int main(){scanf("%d%lf",&N,&D);for(int i=0;i<N;i++)scanf("%lf",&mooncake[i].weight);for(int i=0;i<N;i++)scanf("%lf",&mooncake[i].price);for(int i=0;i<N;i++)mooncake[i].oneWP=mooncake[i].price/mooncake[i].weight;sort(mooncake,mooncake+N,cmp);double nowWeight=0,money=0;int index=0;for(index=0;index<N&&nowWeight+0.000001<D;index++){nowWeight+=mooncake[index].weight;money+=mooncake[index].price;}if(nowWeight>D+0.000001)money-=(nowWeight-D)*mooncake[index-1].oneWP;printf("%.2lf",money);return 0;}

  

这题思路很简单,就是贪心。

注意:存货也要用double类型表示,否则第三个case过不去。

原创粉丝点击