아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Хаотическая перестановка

면접 대비

시간 제한2초메모리 제한512 MB

요약
1부터 n까지의 순열이 주어질 때, 연속한 세 원소가 증가하거나 감소하지 않도록 n번 이하의 인접 교환으로 바꾸고 교환 순서를 출력하거나 -1을 출력한다.
난이도

보통10점 중 6점

유형
그리디, 구현, 배열, 정렬
정답자
아직 제출이 없습니다

문제

Сегодня Васю заставили убираться в классе. Устав наводить порядок, он решил, что теперь он просто должен в качестве компенсации устроить где-нибудь хаос. И тут ему на глаза попалась написанная учителем на доске перестановка чисел от 1 до nn. Напомним, что перестановкой чисел от 1 до nn называется последовательность из nn чисел, в которой каждое из них встречается ровно один раз.

Вася считает, что три подряд идущих элемента находятся в порядке, если они упорядочены либо по возрастанию, либо по убыванию. Он называет перестановку хаотической, если никакая тройка подряд идущих элементов не находится в порядке.

Вася решил изменить перестановку на доске, сделав ее хаотической. Для этого он решил не более nn раз поменять местами два соседних элемента в перестановке.

Помогите Васе сделать перестановку хаотической, пока не пришел учитель и не наказал его за то, что он занимается ерундой вместо уборки.

입력

Во входном файле задана исходная перестановка, которая написана на доске. Первая строка содержит целое число nn --- длину перестановки (3≤n≤10003 \le n \le 1000). Вторая строка содержит nn различных целых чисел, каждое из которых лежит в диапазоне от 1 до nn --- саму перестановку.

출력

В первой строке выведите число kk --- количество операций, которое необходимо сделать Васе. В следующей строке выведите kk чисел --- саму последовательность операций. Если на очередном шаге надо поменять местами ii-й и i+1i+1-й элементы перестановки, необходимо вывести число ii.

Если ответов несколько, вы можете вывести любой. Обратите внимание, что вам не обязательно минимизировать количество операций. Достаточно, чтобы оно было не больше, чем nn. Если решения не существует, выведите число −1-1.

힌트

В первом примере, перестановка будет иметь такой вид ⟨12345⟩→⟨12354⟩→⟨21354⟩→⟨23154⟩\langle 1 2 3 4 5\rangle \rightarrow \langle 1 2 3 5 4\rangle \rightarrow \langle 2 1 3 5 4\rangle \rightarrow \langle 2 3 1 5 4\rangle. Ответ, предложенный во втором примере, тоже корректен.

В третьем примере перестановка уже хаотическая, и ничего менять не надо.

예제3

  1. 예제 1

    입력
    5
    1 2 3 4 5
    
    예상 출력
    3
    4 1 2
    
  2. 예제 2

    입력
    5
    1 2 3 4 5
    
    예상 출력
    2
    4 2
    
  3. 예제 3

    입력
    5
    2 3 1 5 4
    
    예상 출력
    0