zoukankan      html  css  js  c++  java
  • L2-003. 月饼 排序&贪心

    L2-003. 月饼

    时间限制
    100 ms
    内存限制
    65536 kB
    代码长度限制
    8000 B
    判题程序
    Standard
    作者
    陈越

    月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。

    注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、72、45亿元。如果市场的最大需求量只有20万吨,那么我们最大收益策略应该是卖出全部15万吨第2种月饼、以及5万吨第3种月饼,获得 72 + 45/2 = 94.5(亿元)。

    输入格式:

    每个输入包含1个测试用例。每个测试用例先给出一个不超过1000的正整数N表示月饼的种类数、以及不超过500(以万吨为单位)的正整数D表示市场最大需求量。随后一行给出N个正数表示每种月饼的库存量(以万吨为单位);最后一行给出N个正数表示每种月饼的总售价(以亿元为单位)。数字间以空格分隔。

    输出格式:

    对每组测试用例,在一行中输出最大收益,以亿元为单位并精确到小数点后2位。

    输入样例:
    3 20
    18 15 10
    75 72 45
    
    输出样例:
    94.50
    #include <bits/stdc++.h>
    
    #define INF 0x3fffffff
    #define eps 1e-8
    
    typedef long long LL;
    const double pi = acos(-1.0);
    const int mod = 1e9 + 7;
    const int maxn = 1000+5;
    using namespace std;
    
    int num[maxn];
    int val[maxn];
    
    struct Food {
    double num;
    double val;
    double v;
    }f[maxn];
    
    bool cmp(Food f1,Food f2) {
        return f1.v > f2.v;
    }
    int main() {
        //freopen("in.txt","r",stdin);
        int n,d;
        cin>>n>>d;
        for(int i = 0; i < n; i++)
            cin>>f[i].num;
        for(int i = 0; i < n; i++) {
            cin>>f[i].val;
            f[i].v = f[i].val/f[i].num;
        }
    
        sort(f,f+n,cmp);
        double sum = 0;
    
            for(int i = 0; i < n; i++) {
                if(d>=f[i].num){
                    sum += f[i].val;
                    d -= f[i].num;
                }
                else{
                    sum += d*f[i].v;
                    break;
                }
            }
            printf("%.2f
    ",sum);
        return 0;
    }


  • 相关阅读:
    使用Junit对Spring进行单元测试实战小结
    【VBA编程】02.调试VBA程序
    【VBA编程】01.第一个VBA程序Hello world
    VBA验证工作表是否存在
    VBA对指定单元格填充颜色并且赋值
    Excle中range的一些用法
    Debug.print的用法
    EXCLE图形插入实例
    DB2建立不记录日志的表
    Excle快速输入√与×
  • 原文地址:https://www.cnblogs.com/zhangmingzhao/p/7256660.html
Copyright © 2011-2022 走看看