前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >1020 月饼 (25 分) 代码题

1020 月饼 (25 分) 代码题

作者头像
可爱见见
发布2019-09-09 15:59:36
4710
发布2019-09-09 15:59:36
举报
文章被收录于专栏:卡尼慕卡尼慕

1020 月饼 (25 分)

思路

总体思路还是比较清晰的,按照均值排序。然后有限满足均值高的。

// 1020 月饼 (25 分).cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include<iostream>
#include<iomanip>
#include<algorithm>
using namespace std;
struct MoonCake {
    double num, totalp, singlep;//3个double型的库存量,总价,单价 
}cakes[1000];
bool cmp(MoonCake a, MoonCake b)
{
    return a.singlep > b.singlep;//设计函数以降序 
}
int main()
{
    int n, maxreq;//定义种类,最大需求量 
    cin >> n >> maxreq;
    for (int i = 0; i < n; i++)
        cin >> cakes[i].num;
    for (int i = 0; i < n; i++)
        cin >> cakes[i].totalp;
    for (int i = 0; i < n; i++)
        cakes[i].singlep = cakes[i].totalp / cakes[i].num;
    sort(cakes, cakes + n, cmp);
    double maxbenf = 0;
    for (int i = 0; i < n; i++)
    {
        if (maxreq <= cakes[i].num)//如果最大需求量不大于当前库存 
        {
            maxbenf += cakes[i].singlep * maxreq;//最大收益即当前单价乘以最大需求量 
            break;//注意及时退出 
        }
        else
        {
            maxbenf += cakes[i].totalp;//否则最大收益累加当前总价 
            maxreq -= cakes[i].num;//需求量减去当前库存 
        }
    }
    cout << setiosflags(ios::fixed) << setprecision(2) << maxbenf;
    return 0;
}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 卡尼慕 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档