PROTEIN - EDITORIAL

PROBLEM LINK: CodeChef: Practical coding for everyone
DIFFICULTY: Easy
PREREQUISITES: Difference Array, Brute-Force
EXPLANATION:
For all x and y, we can update the value in map(mp) as
mp[x]+=1;
mp[y+1]-=1;
So in such a way, We can create the segments.
Now we just have to add after sorting the map based on keys.

SOLUTION:
(Python 3)

t=int(input())
for i in range(t):
    n,q=map(int,input().split())
    d={0:0}
    a=list(map(int,input().split()))
    for j in range(q):
        l,r=map(int,input().split())
        d[l]=d.get(l,0) + 1
        d[r+1]=d.get(r+1,0) - 1
    ma=-10**12
    s=0
    for i in sorted(d):
       d[i]+=s
       s=d[i]
       if d[i]>ma:
           ans=i
           ma=d[i]
    print(a[ans-1])