#include #include using namespace std; int main() { int n, m, l, r; cin >> n >> m; vector seq; vector zle; vector iZle; int temp; int lastZle = 0; cin >> temp; seq.push_back(temp); iZle.push_back(lastZle); for (size_t i = 1; i < n; i++) { cin >> temp; seq.push_back(temp); iZle.push_back(lastZle); if (seq[i - 1] > seq[i]) { zle.push_back(i); lastZle++; } } int nextZle; for (size_t i = 0; i < m; i++) { //bool correct = true; cin >> l >> r; nextZle = iZle[l]; if (nextZle >= zle.size()) { cout << "YES" << endl; continue; } if (zle[nextZle] < r) { cout << "NO" << endl; continue; } cout << "YES" << endl; //for (size_t j = 0; j < zle.size(); j++) //{ // if (zle[j] >= r) { // break; // } // if (zle[j] >= l - 1 && zle[j] < r - 1) { // cout << "NO" << endl; // correct = false; // break; // } //} //if (correct) cout << "YES" << endl; } return 0; }