题意:一个人可以在一分钟同时进行m道菜的一个步骤,共有n道菜,每道菜各有xi个步骤,求做完的最短时间。
思路:一道很水的思维题, 根本不需要去 考虑模拟过程 以及先做那道菜(比赛的时候就是这么考虑的)。
只是需要判断总数的平均值 和 耗时最大的一道菜 哪个最大。。
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cstring> 5 #include <cmath> 6 #include <algorithm> 7 using namespace std; 8 9 int main() 10 { 11 int n, m, x; 12 int t, sum, Max, ans; 13 while(cin>>t) 14 { 15 while(t--) 16 { 17 cin>>n>>m; 18 sum = 0; Max = -1; 19 while(n--) 20 { 21 cin>>x; 22 sum += x; 23 if(Max < x) 24 Max = x; 25 } 26 if(sum%m==0) 27 ans = sum/m; 28 else 29 ans = sum/m+1; 30 if(Max > ans) 31 ans = Max; 32 cout<<ans<<endl; 33 } 34 } 35 return 0; 36 }