Next Greater Element In Sorted Array

Easy

Given a sorted array and a number key, find the smallest array element which is greater than the key.

If the key is greater than or equal to the largest element then return the key itself.

Expected Time Complexity: O(log n)

Examples
Array: [1, 2, 3, 3, 4, 4, 8, 10]
Number: 4
Answer: 8
Array: [1, 2, 3, 3, 3, 4, 4, 5]
Number: 5
Answer: 5 (Largest Element)
Array: [1, 2, 3, 3, 3, 4, 4, 5]
Number: -5
Answer: 1

Testing

Input Format

First-line contains an integer ‘T’ denoting the number of test cases.

For each test case the input has two lines:

  • Two space-separated integers ‘n’ and 'key' denoting the length of the array and the number to be searched respectively.
  • n space-separated integers denoting the elements of the array.

Output Format

T lines each contain the next greater element for each test case.

Sample Input

2
8 4
1 2 3 3 4 4 8 10
8 5
1 2 3 3 3 4 4 5

Expected Output

8
5

Constraints

1 <= T <= 100

1 <= n <= 104

-106 <= Ai <= 106

-106 <= key <= 106

Editorial Link: Editorial