

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

# from pprint import pprint

start = 0
end = 1
max = freq[0]
dp = n*[0]
while (start < n):
    if(end >= n): 
        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
        end += 1
    else:
        max = freq[end]
        for i in range(1, end - start):
            dp[start+i] = dp[start] - i if dp[start]  - i > 0 else 0
            start = end
        if(end + 1 >= n): break
        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 = "NO" if dp[start] < do - od -1 else "YES"
    print(x)
