问题标题: 酷町堂:5043

0
0
已解决
高子健
高子健
新手天翼
新手天翼

题目描述 Description

在河的这头,有n个人要过独木桥走到对岸,由于每个人的胆量不一样,有人过桥时走得很慢,有人走得很快。独木桥不是很稳固,因此同一时间只能有一个人在桥上。现在我们提前知道每个人过桥要花的时间,那么不管这n个人以什么次序过桥,花的总时间都是一样的,但是可以调整过桥次序使得所有人等待其他人过桥的时间之和最短,请你求出这个最短等待总时间。

输入描述 Input Description

输入一个正整数n(n<=100),
接下来一行,输入n个正整数,表示每个人的过桥时间。

输出描述 Output Description

输出最短的等待总时间。

样例输入 Sample Input

5 2 3 1 4 2

样例输出 Sample Output

17

数据范围及提示 Data Size & Hint

第一个人过桥不需要等待;第二个人需要等待第一个人过完桥;第三个人需要等待前两个人过完桥……

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,a[1005],sum=0,cnt=0;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }    
    sort(a+1,a+n+1);
    a[0]=0;
    for(int i=1;i<=n;i++){
        sum=cnt+a[i];
        cnt+=sum;
    }
    cout<<sum;
}

考试题(补考)
 


0
已采纳
陈振轩
陈振轩
高级光能
高级光能

这题不是水题吗

从2开始循环

sum加a[i-1]

然后cnt再加sum

0
墨风
墨风
资深守护
资深守护

像这种考试问问题的都是不好的例子

我要回答