问题标题: 酷町堂:4186//初级启示者,我来了!

0
0
已解决
董宇昊
董宇昊
初级启示者
初级启示者

 

4186   停水了经验值:0

题目描述 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个人花费的时间之和)


0
已采纳
张天璨
张天璨
新手天翼
新手天翼

典型的贪心题

#include<iostream>
#include<algorithm>
using namespace std;
int a[5000],ans,sum,w1,w2;
int main(){
    int n;
    cin>>n;
    输入a数组
    从小到大排序
    w1=a[1];
    sum+=w1;
    w2=a[2];
    sum+=w2;
    for(i:3到n){
        如果w1<w2{
            累加到w1里
            w1加入总时间sum
        }
        否则{
            累加到w2里
            w2加入总时间sum
        }
    }
    输出总时间
    return 0; 
} 
//我们要使得有效时间最大,所以将时间加入到目前要用时间少的一队

 

0
0
董子墨
董子墨
中级天翼
中级天翼

求解:你在校队训练是干什么了

0
0
我要回答