• 双十一吃土


    吃土

    时间限制: 1000 ms 内存限制: 65536 kb
    总通过人数: 132 总提交人数: 133

    题目描述

    输入

    多组测试数据(不超过10组),每组数据两行

    第一行为一个正整数N(N<=10000),表示排队挖土的总人数

    第二行为N个正整数a1,a2,,,an(INT范围内),表示每个人挖土所需的时间

    输出

    对于每组数据,输出一行,表示等待时间之和的最小值

    输入样例

    5
    1 2 3 4 5

    输出样例

    20

    题目来源:http://biancheng.love/contest/17/problem/A/index

    解题分析:
    按照题目定义,当挖土的时间排序为a1,a2,....an,时,所消耗的时间为T= ∑(i=1->n)(n-i)*ai; 因此当所消耗时间最少时,挖图时间的排序序列应改为非递减排序。因此可以调用库函数的sort,也可以使用前些天提到的优先队列。
    代码实现:
     1 #include <bits/stdc++.h>
     2 #define max_size 10010
     3 long long a[max_size];
     4 using namespace std;
     5 
     6 int main()
     7 {
     8     int n;
     9     while(~scanf("%d",&n))
    10     {
    11         for(int i=1;i<=n;i++)
    12             scanf("%lld",&a[i]);
    13         sort(a+1,a+n+1);
    14         long long ans=0;
    15         for(int i=1;i<=n;i++)
    16         {
    17             ans+=(n-i)*a[i];
    18         }
    19         printf("%lld
    ",ans);
    20     }
    21 }

    另附优先队列实现:

     1 #include <bits/stdc++.h>
     2 
     3 using namespace std;
     4 
     5 int main()
     6 {
     7     int n;
     8     while(~scanf("%d",&n))
     9     {
    10         long long num;
    11         priority_queue<long long,vector<long long>,greater<long long> >que;
    12         for(int i=1;i<=n;i++)
    13         {
    14             scanf("%lld",&num);
    15             que.push(num);
    16         }
    17         long long kase=1;
    18         long long ans=0;
    19         while(!que.empty())
    20         {
    21             ans+=(n-kase)*que.top();
    22             que.pop();
    23             kase++;
    24         }
    25         printf("%lld
    ",ans);
    26     }
    27 }

    注意事项:计算结果较大请使用long long 数据类型。

     
  • 相关阅读:
    如何实现parseFloat保留小数点后2位
    C#正则表达式整理备忘
    HRESULT:0x80070057 (E_INVALIDARG)的异常的解决方案
    c# using的几种用法
    QQ截图 有快捷键的,如Shift+S
    史上最深刻的黄段子
    文本框回车自动提交
    C#与ASP.NET中DateTime.Now函数详解
    ASP.NET页面生命周期
    .NET中HttpWebRequest详解
  • 原文地址:https://www.cnblogs.com/zpfbuaa/p/4963988.html
Copyright © 2020-2023  润新知