Presupunem un șir de numere întregi, indexate de la 1 la , și două poziții și , astfel încât 1 ≤ < ≤ .
Numim șirul aproape sortat, dacă atunci când își interschimbă valoarea cu , șirul devine strict crescător.
Cerință
Dându-se numărul N și elementele șirului A, determinați dacă șirul dat este aproape sortat.
Date de intrare
Pe prima linie se găsește numărul , reprezentând numărul de teste.
Pe următoarele linii sunt dispuse cele teste, sub forma: prima linie conține un număr natural , iar cea de-a doua linie numere întregi, elementele șirului . Numerele aflate pe aceeași linie sunt separate prin câte un spațiu.
Date de ieșire
Se vor afișa linii, răspunsurile celor interogări. Fiecare linie dintre acestea va conține un singur cuvânt, sau , reprezentând răspunsul întrebării “Șirul este aproape sortat?”.
Restricții și precizări
- N ;
- Suma tuturor numerelor N ;
- ;
- Numerele sunt distincte între ele;
- .
# | Punctaj | Restricții |
---|---|---|
1 | 20 | și |
2 | 20 | și |
3 | 60 | Fără alte restricții suplimentare |
Observație
Datorită datelor de intrare foarte mari, se vor folosi instrucțiunile următoare la începutul programului:
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
Exemplu
stdin
2
5
1 7 5 3 9
4
1 2 3 4
stdout
DA
NU
Explicație
Pentru primul test, dacă interschimbăm elementul de pe poziția 2 cu elementul de pe poziția 4, șirul A devine:
, care este un șir sortat.
În cel de-al doilea test, șirul este deja sortat. Astfel, el nu este aproape sortat.