Enunț
Mihai a fost un elev foarte obraznic la ora de informatică, așa că doamna de informatică i-a dat să rezolve următoarea problema:
Să se spună dacă un șir de N elemente poate deveni crescător, aplicând de câte ori vrei operația
Definim operația astfel:
- Există și , ,
- Dacă (mod ), atunci se pot interschimba valorile și
Ajutați-l pe Mihai să rezolve problema.
Cerință
Dându-se cele 2 numere naturale și , apoi numere naturale cu propietatea din enunț, să se afișeze mesajul , dacă șirul poate deveni crescător, respectiv , dacă șirul nu poate deveni crescător.
Date de intrare
În fișierul de intrare crescator.in
, pe prima linie se vor afla 2 numere naturale, acestea reprezentând N, respectiv K. Pe următoarea linie se vor afla N numere naturale, acestea reprezentând șirul pe care doamna voastră de informatică vi l-a acordat.
Date de ieșire
In fișierul de ieșire crescator.out
, pe prima linie se va afla mesajul , dacă șirul poate deveni crescător, respectiv , dacă șirul nu poate deveni crescător
Restricții si precizări:
- Pentru 20 de puncte, si
- Pentru inca 20 de puncte,
- Pentru inca 20 de puncta,
- În enunț se specifică ca șirul să fie , deci și șirurile 1 1 1 și 1 2 2 se iau în considerare ca șiruri crescătoare, de exemplu
Exemplu:
crescator.in
5 4
6 11 2 3 7
crescator.out
DA
Explicații:
În șirul 6, 11, 2, 3, 7, putem aplica de 3 ori operația , astfel:
interschimbăm valorile 2 si 6, deoarece (mod ), rezultând șirul 2, 11, 6, 3, 7,
apoi interschimbăm valorile 11 si 3, deoarece (mod ), rezultând sirul 2, 3, 6, 11, 7,
apoi interschimbăm valorile 11 si 7, deoarece (mod ), rezultând sirul 2, 3, 6, 7, 11, acesta fiind un șir crescător.
Atenție! Aceasta nu e singura metodă de a ajunge la un șir crescător, dar e cea mai eficientă