问题标题: 酷町堂:4186 停水了

0
0
已解决
被禁言 姚段瑞
姚段瑞
新手守护
新手守护

题目链接: 酷町堂:4186

4186   停水了

经验值:1200 时间限制:1000毫秒 内存限制:128MB

题目描述 Description

小区停水了,有n个人排队到楼下的两个水龙头去接水。
每个人带的水桶的容量都不一样,把水桶装满的时间是T1 T2 T3 … Tn。
接满水的时间都是整数并且互不相等,应怎么安排他们的打水的顺序才能使他们花费的总时间最少?

输入描述 Input Description

输入两行:
第一行:一个数n,表示有n个人去接水
第二行:n个数,分别表示这n个人的接水时间

输出描述 Output Description

输出一个数:表示花费的最短的总时间

样例输入 Sample Input

6 5 4 6 2 1 7

样例输出 Sample Output

40

数据范围及提示 Data Size & Hint

1<=n<=300
(每个人花费的时间是等待的时间加上把水桶装满的时间,花费的总时间是这n个人花费的时间之和)

 

#include<iostream>

#include<algorithm>

using namespace std;

int n,sum,a[305];

int main(){

    cin>>n;

    for(int i=1;i<=n;i++)

        cin>>a[i];

    sort(a+1,a+n+1);

    for(int i=1;i<=n;i++){

        sum+=a[i]*(n-i);

    }

    cout<<sum;

    return 0;

}


0
已采纳
刘米玥
刘米玥
新手守护
新手守护

注意审题,两个水龙头

我要回答