long n, q;
cin >> n >> q;
long arr[30000000];

for (int i = 0; i < n; i++) {
    cin >> arr[i];
}

for (int i = 0; i < n; i++) {
    int l, r;
    cin >> l >> r;
    bool flag = true;
    for (int j = l; j < r - l - 1; j++) {
        if (arr[i] > arr[i + 1]) {
            cout << "NO" << endl;
            flag = false;
        }
    }
    if (flag) {
        cout << "YES" << endl;
    }
}

// n, q = map(int, input().split())
// arr = list(map(int, input().split()))
// for _ in range(q):
//     l, r = map(int, input().split())
//     srez = arr[l - 1:r]
//     for i in range(len(srez) - 1):
//         if srez[i] > srez[i + 1]:
//             print("NO")
//             break
//     else:
//         print("YES")

