Logo
(追記) (追記ここまで)

22418번 - ツインリバース 스페셜 저지다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 512 MB122250.000%

문제

要素数 $N$ の配列 $A$ が与えられる。ただし、$A$ は $(1,\ 2,\ ...,\ N)$ の順列である。

次の操作を 0ドル$ 回以上 10,000ドル$ 回以下の任意の回数行い、$A$ を $(1,\ 2,\ ...,\ N)$ へソートしたい。

  • 整数 $i$ (1ドル\leq i\leq N$) を 1ドル$ つ選び、区間 $A[1,\ i-1]$ の要素を逆順にし、区間 $A[i+1,\ N]$ の要素を逆順にする。

ただし、区間 $A[l,\ r]$ とは $A$ の $l,\ l+1,\ ...,\ r $ 番目の位置のことである。

$A$ を $(1,\ 2,\ ...,\ N)$ へソートできるか判定せよ。ソートできるならば、操作の例を一つ出力せよ。

입력

入力は以下の形式で標準入力から与えられる。

$N$

$A_1$ $A_2$ $...$ $A_N$

출력

$A$ を $(1,\ 2,\ ...,\ N)$ へソートできないならば、-1 とだけ一行に出力せよ。

ソートできるならば、操作の例を一つ次のように出力せよ。

  • 1ドル$ 行目には、操作の回数を表す整数 $M$ (0ドル\leq M\leq10,000$) を出力せよ。
  • 2ドル$ 行目からの $M$ 行のうち $k$ 行目には、$k$ 回目の操作で選ぶ整数 $i$ (1ドル\leq i\leq N$) を出力せよ。

제한

  • 1ドル\leq N\leq 3,000$
  • $A$ は $(1,\ 2,\ ...,\ N)$ の順列である。

예제 입력 1

5
5 1 4 2 3

예제 출력 1

2
3
1

例えば、次のように 2ドル$ 回の操作を行えばよい。

  • $i=3$ を選ぶと $(5,\ 1,\ 4,\ 2,\ 3)$ → $(1,\ 5,\ 4,\ 3,\ 2)$
  • $i=1$ を選ぶと $(1,\ 5,\ 4,\ 3,\ 2)$ → $(1,\ 2,\ 3,\ 4,\ 5)$

예제 입력 2

2
2 1

예제 출력 2

-1

예제 입력 3

3
1 2 3

예제 출력 3

0

힌트

출처

Contest > ICPC Japanese Alumni Group > JAG Summer Camp > JAG Summer Camp 2015 Day 2 I번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /