题意:一个人可以在一分钟同时进行m道菜的一个步骤,共有n道菜,每道菜各有xi个步骤,求做完的最短时间。
思路:一道很水的思维题, 根本不需要去 考虑模拟过程 以及先做那道菜(比赛的时候就是这么考虑的)。
只是需要判断总数的平均值 和 耗时最大的一道菜 哪个最大。。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std; int main()
{
int n, m, x;
int t, sum, Max, ans;
while(cin>>t)
{
while(t--)
{
cin>>n>>m;
sum = ; Max = -;
while(n--)
{
cin>>x;
sum += x;
if(Max < x)
Max = x;
}
if(sum%m==)
ans = sum/m;
else
ans = sum/m+;
if(Max > ans)
ans = Max;
cout<<ans<<endl;
}
}
return ;
}