排队接水

题目描述

有N个人排队到R个水龙头去打水,他们装满水桶的时间为T1,T2,…,Tn为整数且各不相等,应如何安排他们的打水顺序才能使他们花费的时间最少?

输入格式

输入文件共两行,第一行为n,r;第二行分别表示第1个人到第n个人每人的接水时间T1,T2,…,Tn,每个数据之间有1个空格。

输出格式

一行,总共花费时间

样例

Sample Input  
4  2                      //4人打水,2个水龙头
2  6  4  5              //每个打水时间
Sample Output  
23                      //总共花费时间
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int main()
{
   
    int n,r;
    cin>>n>>r;
    int a[100];
    for(int i=1;i<=n;i++)
    {
   
        cin>>a[i];
    }
    sort(a+1,a+n+1);
    int tap[100];
    memset(tap,0,sizeof(tap));
    int j=1; 
    int sum=0;
    for(int i=1;i<=n;i++)
    {
   
        if(j==r+1) j=1;
        tap[j]+=a[i];
        sum+=tap[j];
        j++;
    }
    cout<<sum<<endl;
    return 0;
}
全部评论

相关推荐

26届双非不知道咋找得到实习了
kong_kong:1.广投,boss每天200次机会用完, 2.简历上技能和项目经历突出你在这个岗位上的突出优势。 3.还是广投,不要挑地点,公司规模(我当时是线下一个都不去,如果你离得近可以考虑一下去现场) 4.简历写的自己成绩好什么的,奖项也写一写(懂的都懂)
点赞 评论 收藏
分享
SadnessAlex:跟三十五岁原则一样,人太多给这些***惯坏了
点赞 评论 收藏
分享
群星之怒:不是哥们,你就不好奇瘫痪三十年的老植物人是啥样的吗?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务