zoukankan      html  css  js  c++  java
  • 双十一吃土

    吃土

    时间限制: 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 数据类型。

     
  • 相关阅读:
    Android开源项目收藏
    ubuntu修改ip获取方式(静态,动态)
    linux内核调用用户空间程序
    linux 改变目录下所有文件及其子文件夹下的权限
    jquery remove() empty()
    jquery之attr()和removeAttr() prop的使用场所
    jquery 获取对象的八种总结
    html子标签浮动父标签无法扩充
    静态代码块
    java static介绍
  • 原文地址:https://www.cnblogs.com/zpfbuaa/p/4963988.html
Copyright © 2011-2022 走看看