human
Find the kth element in the series generated by the given N ranges | Function to return the kth element of the required series.
To store the number of integers that lie upto the ith index.
Compute the number of integers.
Stores the index , lying from 1 to n ,.
Using binary search , find the index in which the kth element will lie.
Find the position of the kth element in the interval in which it lies.
Driver code"
Solution in Python:
assistant
#Here is code to find the kth element in the series generated by the given N ranges and the other steps required.
 def getKthElement ( n , k , L , R ) :
	l = 1
	h = n
	total = [ 0 for i in range ( n + 1 ) ]
	total [ 0 ] = 0
	for i in range ( n ) :
		total [ i + 1 ] = total [ i ] + ( R [ i ] - L [ i ] ) + 1
	index = - 1
	while ( l <= h ) :
		m = ( l + h ) // 2
		if ( total [ m ] > k ) :
			index = m
			h = m - 1
		elif ( total [ m ] < k ) :
			l = m + 1
		else :
			index = m
			break
	l = L [ index - 1 ]
	h = R [ index - 1 ]
	x = k - total [ index - 1 ]
	while ( l <= h ) :
		m = ( l + h ) // 2
		if ( ( m - L [ index - 1 ] ) + 1 == x ) :
			return m
		elif ( ( m - L [ index - 1 ] ) + 1 > x ) :
			h = m - 1
		else :
			l = m + 1
L = [ 1 , 8 , 21 ]
R = [ 4 , 10 , 23 ]
n = len ( L )
k = 6
print ( getKthElement ( n , k , L , R ) )