有才华的罗老师 时间限制(普通/Java) : 2000 MS/ 6000 MS 运行内存限制 : 65536 KByte 总提交 : 35 测试通过 : 19 描述 科协主席罗老师不光是技术牛,同时也是一个有才华的厨师,因为他能同时做m种菜。今晚他邀请女友到他家共享烛光晚餐。当然,为了向女朋友炫耀他的天才烹饪技能,罗老师决定亲自做所有的菜。为了充分展现自己的烹饪天才,罗老师决定制作n道菜的烛光晚餐。第i道菜包含ai个步骤。一盘菜的步骤应按顺序完成。烹饪的每一分钟,罗老师至多可以对m道不同的菜,完成每道菜的一个步骤。罗老师想知道,他准备晚餐需要的最少时间,可惜罗老师数学不太好,亲爱的小伙伴,你们能帮罗老师算一下吗,罗老师可不想让女朋友久等哦,算对了的话,罗老师可是会有奖励的哦。 输入 有多个测试用例,输入的第一行包含说明测试用例的整数t。对于每个测试用例,第一行包含两个整数n,m(1 <= n, m <= 40000)。第二行包含n个整数ai(1 <= ai <= 40000)。 输出 对于每个测试用例,输出完成所有的菜肴的最少时间(分钟)。 样例输入 2 3 2 2 2 2 10 6 1 2 3 4 5 6 7 8 9 10 样例输出 3 10 题目链接:http://acm.njupt.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=2043 #include<iostream> #include<algorithm> using namespace std; int cmp ( const void *a , const void *b ) { return *(int *)b - *(int *)a; } int main() { int n,m,t,i,k,a[40001]; cin>>t; while(t--){ cin>>n>>m; k=0; for(i=0;i<n;i++) { cin>>a[i]; } qsort(a,n,sizeof(int),cmp); while(a[0]!=0){ for(i=0;i<m;i++){ if(a[i]>0) a[i]--; } qsort(a,n,sizeof(int),cmp); k++; } cout<<k<<endl; } return 0; }