#include #include #include std::vector> sequences; std::vector query; void precalculate(int n) { sequences.resize(n); for (int i = 0; i < query.size(); i++) { sequences[i].resize(n, false); sequences[i][i] = true; for (int j = i+1; j < query.size(); j++) { if (sequences[i][j-1] && query[j] >= query[j-1]) sequences[i][j] = true; } } } int main() { int n, q; std::cin >> n >> q; query.resize(n); for (int i = 0; i < n; i++) { int x; std::cin >> x; query[i] = x; } precalculate(n); for (int a = 0; a < q; a++) { int l, r; std::cin >> l >> r; if (sequences[l-1][r-1]) { std::cout << "YES" << std::endl; } else { std::cout << "NO" << std::endl; } } }