Time limit: 0.5s
Memory limit: 64MB
Input: permsort.in
Output: permsort.out
Cerință
Se dă o permutare cu elemente. Asupra permutării pot fi efectuate două tipuri de mutări:
- Alegerea unui prefix și inversarea lui.
- Alegerea unui sufix și inversarea lui.
Vi se cere să sortați crescător permutarea folosind operațiile descrise. Pentru a obține toate punctele aveți voie să efectuați maximum operații.
Date de intrare
Fişierul permsort.in
conţine pe prima linie numărul , iar pe următoarea linie valori reprezentând o permutare.
Date de ieșire
Fişierul de ieşire permsort.out
va conţine pe prima linie numărul de operații efectuate. Următoarele 4M$ linii vor conține descrierea operațiilor efectuate astfel:
- Dacă se dorește inversarea prefixului care se termină la o anumită poziție se va afișa caracterul
P
urmat de valoarea poziției. - Dacă se dorește inversarea sufixului care se începe la o anumită poziție se va afișa caracterul
S
urmat de valoarea poziției.
Restricții și precizări
- Dacă veți obține punctaj maxim.
- Dacă veți obține din punctaj.
- Pentru nu se vor acorda puncte.
- Pentru din teste,
Exemplu
permsort.in
6
6 5 4 1 2 3
permsort.out
2
S 4
P 6
Explicație
După prima operație permutarea devine: . A două operație inversează tot șirul, iar permutarea devine sortată.