一个理发店有 k(0 < k <= 100) 个理发师,每个理发师给一个顾客的理发时间是分别是 T1, T2, T3, …, Tk (0 < Tk <= 100)。有 n (0 < n <= 10000) 个顾客过来理发,求 n 个顾客用时最短的时间(假设一个理发师理发结束后瞬间就可以给下一个顾客理发)。

区块链毕设网qklbishe.com为您提供问题的解答

一个理发店有 k(0 < k <= 100) 个理发师,每个理发师给一个顾客的理发时间是分别是 T1, T2, T3, …, Tk (0 < Tk <= 100)。有 n (0 < n <= 10000) 个顾客过来理发,求 n 个顾客用时最短的时间(假设一个理发师理发结束后瞬间就可以给下一个顾客理发)。
使用binary search可以找到答案
import java.util.*;  public class Main  {     private static boolean possible(int[] arr, int time, int target)     {         int count = 0;         for (int x : arr)             count += (time / x);         return count >= target;     }      public static void main(String[] args)      {         Scanner scanner = new Scanner(System.in);         int m = scanner.nextInt();         int n = scanner.nextInt();         int[] nums = new int[m];         for (int i = 0; i < m; i++)             nums[i] = scanner.nextInt();         int left = 1;         int right = 100000000;         while (left <= right)         {             int mid = (left + right) / 2;             if (possible(nums, mid, n))                 right = mid - 1;             else                 left = mid + 1;         }         System.out.println(left);     } }

40:15

以上就是关于问题一个理发店有 k(0 < k <= 100) 个理发师,每个理发师给一个顾客的理发时间是分别是 T1, T2, T3, …, Tk (0 < Tk <= 100)。有 n (0 < n <= 10000) 个顾客过来理发,求 n 个顾客用时最短的时间(假设一个理发师理发结束后瞬间就可以给下一个顾客理发)。的答案

欢迎关注区块链毕设网-
web3一级市场套利打新赚钱空投教程

区块链NFT链游项目方科学家脚本开发培训

从业7年-专注一级市场


微信:btc9767
TELEGRAM :https://t.me/btcok9

具体资料介绍

web3的一级市场千万收益的逻辑


进群点我



qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 一个理发店有 k(0 < k <= 100) 个理发师,每个理发师给一个顾客的理发时间是分别是 T1, T2, T3, …, Tk (0 < Tk <= 100)。有 n (0 < n <= 10000) 个顾客过来理发,求 n 个顾客用时最短的时间(假设一个理发师理发结束后瞬间就可以给下一个顾客理发)。