4 2 ( n m )
2 6 4 5 (t1 t2 …… tn)
23(所有人的花费时间总和)
4 2
2 6 4 5
23
总是出现运行错误,思路很正确,不过还好终于过啦
//AC
#include <stdio.h> 
#include<algorithm>  
using namespace std;      
int cmp(int a, int b)    
{    
    return a < b;   
} 
int main()    
{    
    int n, m, i, sum = 0;    
    int a[1000], b[1000];    //总时间=每个人打水所用时间加等待时间 
    scanf("%d %d", &n, &m); 
    for(i = 0; i < n; i++)    
    {    
        scanf("%d", &a[i]);    
    }    
    sort(a,a+n);  
    for(i = 0; i < m; i++)   // 前m-1个水龙头 每个人等待的时间为0 
    {    
        b[i] = a[i];    
    } 
    for(i = m; i < n; i++)    //开始出现循环,第m个人花费时间=个人打水时间加等待时间  
    {    
        b[i] = b[i - m] + a[i];    
    } 
    for(i = 0; i < n; i++)    
    {    
        sum += b[i];    
    }    
    printf("%d\n",sum);    
    return 0;    
}    
 原文:http://www.cnblogs.com/hys1258414454/p/7267103.html