import sys

input = sys.stdin.readline

def search(l,r, F):
    pos = len(F) // 2
    t = F[pos]

    if l >= t[0] and r <= t[1]:    return "YES"
    elif len(F) == 1:   return "NO"
    else:
        if l > t[1]:
            return search(l,r,F[pos + 1:])
        else:
            return search(l,r,F[:pos])

def main():
    n, k = map(int, input().split())
    F = list(map(int, input().split()))
    out = []
    seen = []

    start_seg = 0
    for i in range(1, n):
        if F[i] < F[i - 1]:
            seen.append((start_seg + 1, i))
            start_seg = i
            
        if i == n - 1:
            seen.append((start_seg + 1, i + 1))



    for i in range(k):
        l, r = map(int, input().split())
        out.append(search(l,r, seen))

    result = "\n".join(out)
    print(result)




main()