// #include // #include // using namespace std; // // int main() { // int n, q; // cin >> n >> q; // vector v(n); // vector indices(q); // // for (int i = 0; i < n; i++) { // cin >> v[i]; // } // for (int i = 0; i < q; i++) { // cin >> indices[i][0] >> indices[i][1]; // } // // vector> memo; // // for (int i = 0; i < n; i++) { // // memo.push_back(vector(n)); // // for (int j = i; j < n; j++) { // // memo[i][j] = ""; // // } // // } // // for (int i = 0; i < n; i++) { // // bool previous = true; // for (int j = i; j < n; j++) { // if (v[i] <= v[j] && previous) { // memo[i][j] = "YES"; // } else { // previous = false; // memo[i][j] = "NO"; // } // } // } // // for (int i = 0; i < q; i++) { // cout << memo.at(indices[i][0]-1).at(indices[i][1]-1) << endl; // } // } #include using namespace std; int main() { int n, q; cin>>n>>q; int v[n]; for (int i = 0; i < n; i++) { cin>>v[i]; } while(q--) { int l, r; cin>>l>>r; bool res = true; for (int i = l -1 ; i < r -1; i++) { if (v[i] > v[i + 1]) { res = false; break; } } if (res) { cout<<"YES"<