• 运输


    【题目描述】
    现在已知N 件商品,和搬运它们其中每一件的费用。现在搬家公司老板Mr.sb 决定让我们每次任意选取2 件商品。然后这2 件商品只算一件商品的费用。但是这个商品的搬运费用是将选出的2 个商品的费用之和除以k 的运算结果。如此反复。直到只收一件商品的钱。这个就是商店要付的费用。掌柜的想尽可能的少付钱,以便将更多的钱捐给希望工程。所以请你帮他计算一下最少只用付多少钱。

    【输入】
    n,k
    w1,w2,...,wn(每一件商品的搬运费用)
    n,k<=10000

    【输出】
    最少付多少钱

    样例输入
    5 2
    1 2 3 4 5

    样例输出
    1

    水贪心,一直合并最贵的两件商品,知道剩一件。用优先队列实现

    #include<cstdio>
    #include<iostream>
    #include<cmath>
    #include<algorithm>
    #include<cstring>
    #include<queue>
    using namespace std;
    
    #define rep(i ,a, n) for(int i = a; i <= n; ++i)
    #define per(i, n, a) for(int i = n; i >= a; --i)
    typedef long long ll;
    const int maxn = 1e5 + 5; 
    
    priority_queue<int>q;
    int a[maxn], n, k;
    int main()
    {
        freopen("trans.in", "r", stdin);
        freopen("trans.out", "w", stdout);
        scanf("%d%d", &n, &k);
        rep(i, 1, n) 
        {
            int a; scanf("%d", &a);
            q.push(a);
        }
        rep(i, 1, n - 1)
        {
            int a = q.top(); q.pop();
            int b = q.top(); q.pop();
            q.push((a + b) / k);
        }
        printf("%d
    ", q.top());
        return 0;
    }
  • 相关阅读:
    Account group in ERP and its mapping relationship with CRM partner group
    错误消息Number not in interval XXX when downloading
    错误消息Form of address 0001 not designated for organization
    Algorithm类介绍(core)
    梯度下降与随机梯度下降
    反思
    绘图: matplotlib核心剖析
    ORB
    SIFT
    Harris角点
  • 原文地址:https://www.cnblogs.com/mrclr/p/8584709.html
走看看 - 开发者的网上家园