1619: Сортування за правилами


Submit solution


Points:10
Time limit:1.0s
Memory limit:64M
Author:

Problem type

Дано масив A, який містить N цiлих чисел. Визначте, чи можна даний масив вiдсортувати у порядку зростання виконуючи лише одну з наступних операцiй:

  • помiняти два елементи мiсцями

  • змiнити порядок елементiв на зворотнiй на будь-якому сегментi

Необхiдно встановити, чи виконає дане завдання перша, друга чи жодна операцiї.

Формат вхiдних даних

Перший рядок мiстить цiле число N (2 <= N <= 100000) - кiлькiсть елементiв масиву.

Наступний рядок мiстить елементи масиву A (0 <= A_i <= 100000), якi роздiляються пропуском.

Формат вихiдних даних

  1. Якщо масив уже вiдсортований, то вивести ’yes’ в одному рядку. Бiльше нiчого не треба виводити.

  2. Якщо масив можна вiдсортувати наведеними операцiями, то у першому рядку виводимо ’yes’, а в другому:

  3. якщо елементи можна помiняти мiсцями, то вивести swap l r, де l, r iндекси елементiв, якi обмiнюються мiсцями, причому l < r. Елементи iндексуються вiд 1 до N.

  4. в iншому випадку вивести reverse l r, де l лiва межа сегменту, а r - права.

Якщо можна використати або reverse, або swap, то вивести swap.

Якщо ж масив вiдсортувати за вказаними правилами неможливо, то вивести ’no’.

Приклад вхідних даних

2
4 2

Приклад вихідних даних

yes
swap 1 2

Приклад вхідних даних

3
3 1 2

Приклад вихідних даних

no

Приклад вхідних даних

6
1 5 4 3 2 6

Приклад вихідних даних

yes
reverse 2 5

Comments


  • 0
    Iqura
     commented on May 8, 2020

    Помилка у написанні слова "містить". Дано масив A, який мстить N цiлих чисел


    • 0
      zvit
       commented on May 8, 2020

      дякую