만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

형식적으로, 세 정수를 고른다

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

요약
길이가 짝수인 연속 구간을 짝수 칸만큼 회전시키는 연산을 반복해 배열 a를 b로 바꿀 수 있는지 판정한다.
난이도

어려움10점 중 8점

유형
수학, 배열, 조합론, 정렬
정답자
아직 제출이 없습니다

문제

길이가 같은 두 배열 aa와 bb가 주어진다. 길이는 nn이다.

aa에 대해 다음 종류의 연산을 원하는 만큼 (0번 이상) 수행할 수 있다.

짝수 길이의 연속한 부분 배열을 골라 짝수 칸만큼 순환 시프트한다. 형식적으로, 세 정수 i,j,ki, j, k (0≤i<j<k≤n0 \leq i < j < k \leq n, j−ij - i는 짝수, k−ik - i는 짝수)를 골라 aa를 a0:i+aj:k+ai:j+ak:na_{0:i} + a_{j:k} + a_{i:j} + a_{k:n}으로 바꾼다. 여기서 al:ra_{l:r}은 Python 인덱싱에서의 슬라이스를 뜻한다. 정확히는 0-indexing에서 인덱스 범위 [l,r)[l,r)에, 1-indexing에서 (l,r](l,r]에 속하는 원소를 담는다.

aa를 bb로 변환할 수 있는가?

입력

첫째 줄에 aa와 bb의 길이 nn이 주어진다 (1≤n≤3⋅1051 \leq n \leq 3 \cdot 10^5).

둘째 줄에 aa의 원소 aia_i가 nn개 주어진다 (1≤ai≤n1 \leq a_i \leq n).

셋째 줄에 bb의 원소 bib_i가 nn개 주어진다 (1≤bi≤n1 \leq b_i \leq n).

출력

ss를 tt로 변환할 수 있으면 1을, 아니면 0을 출력한다.

예제3

  1. 예제 1

    입력
    3
    1 2 1
    1 1 2
    
    예상 출력
    0
    
  2. 예제 2

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

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