2572제출맞힌 사람재채점 결과채점 현황

2572번 - 수열과 수열

스페셜 저지
시간 제한1
메모리 제한1024 MB
제출9
정답7
맞힌 사람2
정답 비율77.78%

문제

길이가 $N$인 두 정수 수열 $A: A_1, A_2, \cdots, A_N$과 $B: B_1, B_2, \cdots, B_N$이 주어진다. 각 수열은 서로 다른 $N$개의 수로 이루어져 있고 $1 \leq A_i, B_i \leq N$ ($1 \leq i \leq N$)이다. 이때, 여러분은 수열 $A$에 다음과 같은 연산을 가할 수 있다.
\begin{itemize}
\item $1 \leq l < r \leq N$이고 $r-l$이 홀수인 양의 정수 $l$과 $r$을 임의로 선택한다.
\item $A_l$과 $A_{l+1}$의 값을 바꾼다.
\item $A_{l+2}$와 $A_{l+3}$의 값을 바꾼다.
\item $\cdots$
\item $A_{r-1}$과 $A_r$의 값을 바꾼다.
\end{itemize}
여러분은 $A$에 연산을 몇 번 가해 $B$와 같도록 하고자 한다. 연산의 횟수를 최소화할 필요는 없으나, 물론 연산을 한 번도 가하지 않을 수도 있다. 이때, $A$에 몇 번의 연산을 통해 $B$와 같도록 할 수 있다면 $A$에 가하는 연산의 횟수가 $10^6$ 이하이도록 할 수 있음을 증명할 수 있다. $10^6$번 이하의 연산을 통해 $A$를 $B$와 같도록 하는 연산을 찾아 보자.

입력

첫 번째 줄에 양의 정수 $N$이 주어진다. ($1 \leq N \leq 300\,000$)

두 번째 줄에 수열 $A$를 이루는 $N$개의 수 $A_1, A_2, \cdots, A_N$이 공백으로 구분되어 주어진다.

세 번째 줄에 수열 $B$를 이루는 $N$개의 수 $B_1, B_2, \cdots, B_N$이 공백으로 구분되어 주어진다.

출력

첫 번째 줄에 가해야 하는 연산의 횟수 $Q$를 출력하라. 만약 $A$를 $B$로 바꿀 수 없다면 $-1$을 출력하여라.

만약 $A$를 $B$로 바꿀 수 있다면, 두 번째 줄부터 $Q$개의 줄 중 $i$번째 줄에, 수열 $A$를 $B$로 바꾸는 과정의 $i$번째 연산에서 선택하는 두 수 $l$과 $r$을 공백으로 구분하여 출력하여라.

예제 1

예제 입력 1

5
3 1 2 5 4
1 2 3 4 5

예제 출력 1

2
1 2
2 5

예제 2

예제 입력 2

2
1 2
1 2

예제 출력 2

2
1 2
1 2

문제 정보

출처school > 경기과학고등학교
출제자annyeong1
검수자-