广工校赛——slamdunk正在做菜

Description

广工的slamdunk可谓是人生赢家,据传说他现在即将拥有一个girlfriend,并且在感情的驱使下他甚至开始学起了做菜! 现在他想为girlfriend做N道菜,每道菜做出来需要Ai分钟,slamdunk一分钟最多能煮M道菜,请问他做完这N道菜所需的最短时间 是多少?(如果你能帮他解决这个问题,他和他的girlfriend会送给你一个精美的气球~)

Input

第一行输入一个整数T表示测试数据共有T(1 <= T <=10)组 每组测试数据的第一行有一个正整数N(1 <= N <= 10000)和一个正整数M(1 <= M <= 10000) 第二行有N个正整数A1,A2....An(1 <= Ai <= 10000)表示做出每道菜所需的时间

Output

每组数据输出一个数字,代表做完这N道菜所需的最短时间

Sample Input

2 3 2 2 2 2 10 6 1 2 3 4 5 6 7 8 9 10

Sample Output

3 10

HINT

大意:比较平均数与最大值,看了题解新技能get ~~ 求上阙平均值 aver=(aver+m-1)/m,就不需要用标记是否整除了。

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main(){
    int t,n,m;
    int Max,aver,num;
    scanf("%d",&t);
    while(t--){
        aver=Max=0;
        scanf("%d%d",&n,&m);
        while(n--){
            scanf("%d",&num);
            Max=max(Max,num);
            aver+=num;
        }
        aver=(aver+m-1)/m;
        printf("%d\n",max(aver,Max));
    }
    return 0;
}
View Code

 

posted @ 2015-03-17 19:37  Painting、时光  阅读(128)  评论(0编辑  收藏  举报