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;
    }


  • 相关阅读:
    mysql修改数据表名
    HDU 5742 It's All In The Mind (贪心)
    HDU 5752 Sqrt Bo (数论)
    HDU 5753 Permutation Bo (推导 or 打表找规律)
    HDU 5762 Teacher Bo (暴力)
    HDU 5754 Life Winner Bo (博弈)
    CodeForces 455C Civilization (并查集+树的直径)
    CodeForces 455B A Lot of Games (博弈论)
    CodeForces 455A Boredom (DP)
    HDU 4861 Couple doubi (数论 or 打表找规律)
  • 原文地址:https://www.cnblogs.com/zhangmingzhao/p/7256660.html
Copyright © 2011-2022 走看看