from itertools import pairwise

N, Q = map(int, input().split())
sequence = list(map(int, input().split()))

broken = [False] + [
   a > b for a, b in pairwise(sequence)
]

valid_until = [0] * N


last = 0
for i, b in enumerate(broken):


   if b:
      for j in range(last, i):
         valid_until[j] = i

      last = i


for j in range(last, len(broken)):
   valid_until[j] = len(broken)


for _ in range(Q):
   a, b = map(int, input().split())
   a -= 1
   b -= 1
   correct = valid_until[a] > b
   print("YES" if correct else "NO")