
1. Any painter will only paint contiguous sections of the board.
For eg, A configuration where painter 1 paints boards 1 and 3 and not 2 is invalid.
2. A board cannot be painted partially by one painter, and partially by another.
The first line of input contains an integer ‘T’ denoting the number of test cases to run. Then the test case follows.
The first line of each test case contains three single space-separated integers ‘N’, ‘A’ and ‘B’ denoting the number of boards to be painted, number of painters available and time taken to paint 1 unit of the board, respectively.
The second line of each test case contains N single space-separated integers, denoting the size of each board.
For each test case, print the minimum time required to paint all boards.
Output for each test case will be printed in a new line.
You do not need to print anything; it has already been taken care of. Just implement the given function.
1 <= T <= 100
1 <= A <= 10^5
1 <= B <= 10^9
1 <= N <= 10^3
1 <= Board[i] <=10^5
Time Limit: 1sec
We can iterate through the time ‘t’ and check if all the boards can be painted within time ‘t’ using at most A painters. The smallest time t at which we will be able to complete our work will be our answer.
The algorithm will be-
The key observations in this problem are-
Both of these observations are key attributes of a Binary Search algorithm.
The complete algorithm will be-