


Letβs assume βNβ is 5. Initially, all the elements are initialized to zero. we need to perform 2 operations 1 5 and 2 4. In operation 1 5, we will increase all the elements from index 1 to 5 by 1 i.e it becomes [1,1,1,1,1].
In operation 2 4, we will increase all the elements from index 2 to 4 by 1 i.e it becomes [1,2,2,2,1]. So answer in this case will be 2 as 2 is the maximum element of the array/list.
In the above question array/list is assumed to have β1β - based indexing i.e. array/list starts from index 1.
The first line contains a single integer βTβ representing the number of test cases.
The first line of each test case contains two single space-separated integers βNβ and βMβ representing the size of the array/list and number of operations.
Next βMβ lines contain operations that have to be performed on βAβ. Each operation contains two single space-separated integers representing a range of indices on which you need to perform the operation.
For each test case, return the maximum element of array/list βAβ after all βMβ operations are performed.
You do not need to print anything; it has already been taken care of. Just implement the function.
1 <= T <= 10
1 <= N <= 10^3
1 <= M <= 10^3
1 <= L <= N
L <= R <= N
Time Limit: 1 sec
We will declare an array/list βAβ of size βNβ+1 and initialize all its elements to 0.
We will declare an array/list 'A' of size βNβ+1 and initialize all its elements to 0. We will use the fact that each element that lies between L[ i ] and R[ i ] (inclusive) gets incremented by β1β so we increase the element at L[ i ] by β1β. When we take prefix sum after all the operations it will increase all the indices greater than it by β1β also. But we want it to increase only till R[ i ], therefore we decrease βA[R[ i ] + 1]β by β1β before taking prefix sum.
is <= βNβ.
A[ i - 1 ]β by iterating through the array/list.