Problem Description
It’s Tushar’s birthday today and he has N friends.
Friends are numbered [0, 1, 2, ...., N-1] and ith friend have a positive strength B[i].
Today being his birthday, his friends have planned to give him birthday bombs (kicks).
Tushar's friends know Tushar's pain bearing limit and would hit accordingly.
If Tushar’s resistance is denoted by A (>=0) then find the lexicographically smallest order of friends to kick Tushar so that the cumulative kick strength (sum of the strengths of friends who kicks) doesn’t exceed his resistance capacity and total no. of kicks hit are maximum.
Also note that each friend can kick an unlimited number of times (If a friend hits x times, his strength will be counted x times)
Return the lexicographically smallest array of maximum length where the ith index represents the index of the friend who will hit.
NOTE:
1 <= N <= 100
1 <= A <= 15 * 106
1 <= B[i] <= 105
The first argument contains an integer, A of length N.
The second argument contains an array of integers B.
Return an array of integer, as described in the problem statement.
Input 1:
A = 12 B = [3, 4]
Input 2:
A = 11 B = [6, 8, 5, 4, 7]
Output 1:
[0, 0, 0, 0]
Output 2:
[0, 2]
The first friend with the index value 0 and strength 3 can hit 4 times, providing the lexicographically smallest array of maximum lengthExplanation 1:
The first friend with the index value 0 and strength 6 can only hit once, making the Tushar's resistance to 5, now the third friend with the index value 2 can hit once, providing the lexicographically smallest array of maximum length.
NOTE: You only need to implement the given function. Do not read input, instead use the arguments to the function. Do not print the output, instead return values as specified. Still have a question? Checkout Sample Codes for more details.