Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <algorithm>
- using namespace std;
- int main()
- {
- freopen("input.txt", "r", stdin);
- int m;
- cin >> m;
- for(int k = 0; k < m; k++)
- {
- int n;
- cin >> n;
- vector<int> a(n);
- for(int i = 0; i < n; i++)
- cin >> a[i];
- vector<int> b = a;
- sort(b.begin(), b.end());
- int del;
- int j = 0;
- bool flag = false, ans = true;
- for(int i = 0; i < n; i++)
- {
- if(!flag && j < n && a[i] != b[j])
- {
- del = b[j];
- flag = true;
- j++;
- if(i != n - 1 && a[i] != b[j])
- ans = false;
- }
- if(flag && a[i] != del && a[i] != b[j])
- {
- ans = false;
- break;
- }
- j++;
- if(flag && a[i] == del)
- j--;
- }
- if(ans)
- {
- cout << "YES" << endl;
- continue;
- }
- j = 0;
- flag = false; ans = true;
- reverse(b.begin(), b.end());
- for(int i = 0; i < n; i++)
- {
- if(!flag && j < n && a[i] != b[j])
- {
- del = b[j];
- flag = true;
- j++;
- if(i != n - 1 && a[i] != b[j])
- ans = false;
- }
- if(flag && a[i] != del && a[i] != b[j])
- {
- ans = false;
- break;
- }
- j++;
- if(flag && a[i] == del)
- j--;
- }
- if(ans)
- cout << "YES" << endl;
- else
- cout << "NO" << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement