Given two integers X and Y where X denotes the number of points required to qualify and Y denotes the number of matches left. The team receives 2 points on winning the match and 1 point on losing. The task is to find the minimum number of matches the team needs to win in order to qualify for next round.
Input: X = 10, Y = 5
The team needs to win all the matches in order to get 10 points.
Input : X = 6, Y = 5
Output : 1
If the team wins a single match and loses the rest 4 matches, they would still qualify.
A naive approach is to check by iterating over all values from 0 to Y and find out the first value which gives us X points.
An efficient approach is to perform a binary search on the number of matches to be won to find out the minimum number of the match. Initially low = 0 and high = X, and then we check for the condition (mid * 2 + (y – mid)) ≥ x. If the condition prevails, then check if any lower value exists in the left half i.e. high = mid – 1 else check in the right half i.e. low = mid + 1.
Below is the implementation of the above approach:
Time Complexity: O(log y)
- Ways of selecting men and women from a group to make a team
- Given number of matches played, find number of teams in tournament
- Longest string in an array which matches with prefix of the given string
- Minimum adjacent swaps to move maximum and minimum to corners
- Minimum distance between the maximum and minimum element of a given Array
- Remove minimum numbers from the array to get minimum OR value
- Minimum possible value of max(A, B) such that LCM(A, B) = C
- Minimum possible sum of array B such that AiBi = AjBj for all 1 ≤ i < j ≤ N
- Minimum LCM and GCD possible among all possible sub-arrays
- Minimum value of N such that xor from 1 to N is equal to K
- Minimum possible value of (i * j) % 2019
- Find the value of N when F(N) = f(a)+f(b) where a+b is the minimum possible and a*b = N
- Minimum value possible of a given function from the given set
- Find minimum x such that (x % k) * (x / k) == n | Set-2
- Transform N to Minimum possible value
- Find minimum x such that (x % k) * (x / k) == n
- Minimum possible number with the given operation
- Find the minimum value of X for an expression
- Minimum Enclosing Circle | Set 1
- Remove one element to get minimum OR value
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.