#include <iostream>
#include <vector>
using namespace std;
void init() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
}
int main() {
init();
int n, test;
cin >> n >> test;
vector<int> data = { 0 };
int temp;
for (int i = 0; i < n; ++i) {
cin >> temp;
data.push_back(temp);
}
vector<int> Left(n + 1, 0);
Left[1] = 1;
vector<int> Right(n + 1, 0);
Right[n] = n;
for (int i = n - 1; i >= 1; --i) {
if (data[i] <= data[i + 1]) {
Right[i] = Right[i + 1];
}
else {
Right[i] = i;
}
}
for (int i = 2; i <= n; ++i) {
if (data[i - 1] >= data[i]) {
Left[i] = Left[i - 1];
}
else {
Left[i] = i;
}
}
int l, r;
while(test--){
cin >> l >> r;
if (Left[r] <= Right[l]) {
cout<<"Yes"<<endl;
}
else {
cout<<"No"<<endl;
}
}
return 0;
}
1678. Goal Parser Interpretation | 1389. Create Target Array in the Given Order |
1313. Decompress Run-Length Encoded List | 1281. Subtract the Product and Sum of Digits of an Integer |
1342. Number of Steps to Reduce a Number to Zero | 1528. Shuffle String |
1365. How Many Numbers Are Smaller Than the Current Number | 771. Jewels and Stones |
1512. Number of Good Pairs | 672. Richest Customer Wealth |
1470. Shuffle the Array | 1431. Kids With the Greatest Number of Candies |
1480. Running Sum of 1d Array | 682. Baseball Game |
496. Next Greater Element I | 232. Implement Queue using Stacks |
844. Backspace String Compare | 20. Valid Parentheses |
746. Min Cost Climbing Stairs | 392. Is Subsequence |
70. Climbing Stairs | 53. Maximum Subarray |
1527A. And Then There Were K | 1689. Partitioning Into Minimum Number Of Deci-Binary Numbers |
318. Maximum Product of Word Lengths | 448. Find All Numbers Disappeared in an Array |
1155. Number of Dice Rolls With Target Sum | 415. Add Strings |
22. Generate Parentheses | 13. Roman to Integer |