• 天梯赛L2003月饼(简单排序题)


    超级简单的排序题

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

    注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有

    20 万吨,那么我们最大收益策略应该是卖出全部 15 万吨第 2 种月饼、以及 5 万吨第 3 种月饼,获得 72 + 45/2 = 94.5(亿元)。

    输入格式:

    每个输入包含一个测试用例。每个测试用例先给出一个不超过 1000 的正整数 N月饼的种类数,D市场最大需求量

    随后一行给出N个正数表示每种月饼的库存量,最后一行给出每种月饼的总售价。

    输出格式:

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

    输入样例:

    3 20
    18 15 10
    75 72 45
    
     

    输出样例:

    94.50
    代码:
    #include<bits/stdc++.h>
    using namespace std;
    const int INF=0x3f3f3f3f;
    const double PI=acos(-1.0);
    const double eps=1e-10;
    const int M=1e9+7;
    const int N=1e5+5;
    typedef long long ll;
    struct node{
        double x,y;
        double z;
    }a[10010];
    int cmp(node x,node y)
    {
        return x.z>y.z;
    }
    int main()
    {
        int n;
        double d;
        cin>>n>>d;
        double s1=0.,s2=0.;
        for(int i=0;i<n;i++)
          cin>>a[i].x;
        for(int i=0;i<n;i++)
        cin>>a[i].y;
        for(int i=0;i<n;i++)
         a[i].z=a[i].y/a[i].x;
        sort(a,a+n,cmp);
        double sum=0.;
        //for(int i=0;i<n;i++)
        //cout<<a[i].x<<" "<<a[i].y<<endl;
        for(int i=0;i<n;i++)
        {
            if(a[i].x<=d)
             {
             sum+=a[i].y;
             d-=a[i].x;
             }
             else
             {
                 sum+=a[i].z*d;
                d-=a[i].x;
             }
             //cout<<sum<<" ";
             if(d<=0)
              break;
        }
        printf("%.2lf",sum);
    }
     
  • 相关阅读:
    luogu题解 P2184 【贪婪大陆】
    luogu题解 P3763 【[TJOI2017]DNA】
    实战技巧--对拍
    题解 P3620 【[APIO/CTSC 2007]数据备份】
    题解 UVA1316 【Supermarket】
    学习笔记-Rabin-Karp哈希
    题解 POJ1964/UVA1330/SP277 【City Game】
    题解 POJ 2559-SP1805 【HISTOGRA
    题解 P2859 【[USACO06FEB]摊位预订Stall Reservations】
    Linux操作系统(一)
  • 原文地址:https://www.cnblogs.com/sweetlittlebaby/p/12466552.html
Copyright © 2020-2023  润新知