首页 > 其他 > 详细

A1070

时间:2019-02-16 19:28:16      阅读:252      评论:0      收藏:0      [点我收藏+]

给出总价和需求量,求最大收益。

思路:求单价最高的,排序。

 1 #include<cstdio>
 2 #include<algorithm>
 3 using namespace std;
 4 struct mooncake{
 5     double store;//存货 
 6     double sell;//总价 
 7     double price;//单价 
 8 }cake[1010];
 9 bool cmp(mooncake a,mooncake b){
10     return a.price>b.price;
11 }
12 int main(){
13     int n;
14     double d;//需求总量
15     scanf("%d %lf",&n,&d);
16     for(int i=0;i<n;i++){
17         scanf("%lf",&cake[i].store);
18     }
19     for(int i=0;i<n;i++){
20         scanf("%lf",&cake[i].sell);
21         cake[i].price=cake[i].sell/cake[i].store;
22     } 
23     sort(cake,cake+n,cmp);
24     double ans=0;//收益
25     for(int i=0;i<n;i++){
26         if(cake[i].store<=d){
27             d-=cake[i].store;
28             ans+=cake[i].sell;
29         }
30         else{
31             ans+=cake[i].price*d;
32             break;
33         }
34     } 
35     printf("%.2f\n", ans);
36     return 0;
37 }

 

A1070

原文:https://www.cnblogs.com/Lynn-2019/p/10388770.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!