#include <algorithm> #include <iomanip> #include <istream> #include <map> #include <numeric> #include <ostream> #include <set> #include <sstream> #include <string> #include <utility> #include <vector> using namespace std; // Powered by caide (code generator, tester, and library code inliner) class Solution { public: void solve(std::istream& in, std::ostream& out) { int n; in >> n; vector<int> arr(n); for (int i = 0; i < n; i++) { in >> arr[i]; } int m = arr[0]; int count = 0; for (int i = 1; i < n; i++) { if (arr[i] < m) count++; m = max(m, arr[i]); } int m1 = arr[n - 1]; int count1 = 0; for (int i = n - 2; i >= 0; i--) { if (arr[i] > m1) count1++; m1 = min(m1, arr[i]); } if (min(count, count1) > 1) out << "NO" << endl; else out << "YES" << endl; } }; void solve(std::istream& in, std::ostream& out) { out << std::setprecision(12); Solution solution; int T; in >> T; while(T--) solution.solve(in, out); } #include <fstream> #include <iostream> int main() { ios_base::sync_with_stdio(0); cin.tie(0); istream& in = cin; ostream& out = cout; solve(in, out); return 0; }