Timer is Running

Smallest range in K lists
Submissions: 3831   Accuracy:

32.96%

  Difficulty: Medium   Marks: 4

Given K sorted lists of integers of size N each, find the smallest range that includes at least one element from each of the K lists. If more than one such range's are found, print the first such range found.

Input:
The first line of the input contains a single integer T denoting the number of test cases. The T test cases follow:
First line of each test case contains 2 space separated integers N and K. Then K lines follow. Each of the next ith (1 <= i <= K) line contain N space separated integers present in the ith list. 

Output:
For each test case output in a single 
line with two space-separated integers denoting the required range.

Your Task : Complete the function findSmallestRange() that receives array , array size n and k as parameters and returns the output range.

Expected Time Complexity : O(n * k *log k)
Expected Auxilliary Space  : O(k)

Constraints:
1 <= T <= 50
1 <= K,N <= 500

Example:
Input:
2
5 3
1 3 5 7 9
0 2 4 6 8
2 3 5 7 11
4 3
1 2 3 4
5 6 7 8
9 10 11 12

Output:
1 2
4 9

Explanation:
Testcase1:
K = 3
A:[1 3 5 7 9]
B:[0 2 4 6 8]
C:[2 3 5 7 11]
Smallest range is formed by number 1 present in first list and 2 is present in both 2nd and 3rd list.

** For More Input/Output Examples Use 'Expected Output' option **

Contributor: Harshit Sidhwa
Author: harshitsidhwa


If you have purchased any course from GeeksforGeeks then please ask your doubt on course discussion forum. You will get quick replies from GFG Moderators there.



Need help with your code? Please use ide.geeksforgeeks.org, generate link and share the link here.


to report an issue on this page.