

n, q = map(int, input().split())
freq = list(map(int, input().split()))

start = 0
end = 1
max = freq[0]
dp  = n * [0]

while ( True ):
    # print(start, end)

    if ( end >= n ): # konec
        for i in range ( start + 1, n ):
            dp[i] = dp[start] - 1 if dp[start] > 0 else 0
            start += 1
        break

    if ( max <= freq [ end ] ):
        max = freq[end]
        dp[start] += 1
    
    else:
    
        max = freq[end]
        for i in range ( start, end ):
            dp[start + 1] = dp[start] - 1 if dp[start] > 0 else 0
            start += 1
    end += 1


# matrix = []
# for i in range(len(freq)):
#     matrix.append([])
#     max = freq[i]
#     still_good = True
#     for j in range(len(freq) - i):
#         if(still_good and freq[j+i] >= max):
#             max = freq[j+i]
#             matrix[i].append("YES")
#         else:
#             break

# pprint(matrix)
for i in range(q):
    od, do = map(int, input().split())
    x = "YES" if dp[od - 1] >= do - od  else "NO"
    print(x)
