题目
思路
- 找到第一个大于a1的点,设为ak,那么a1和ak之间的都可以消掉,再去掉ak,继续找小于a1的第一个数,由此可以通过最后an是否大于a1判断能否全部消掉只留下a1
代码
#include <iostream>
using namespace std;
int main() {
int tcase;
std::ios::sync_with_stdio(false);
cin >> tcase;
while(tcase--) {
int n;
cin >> n;
int first, last;
for(int i = 0; i < n; i++) {
int x;
cin >> x;
if (i == 0) {
first = x;
} else if (i == n - 1) {
last = x;
}
}
if (first < last) {
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
}
return 0;
}