만드는 중입니다

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

실로폰

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

요약
구간 [s, t]를 쳤을 때 얻는 최댓값과 최솟값의 차이만으로 각 막대의 음높이를 10000번 이내의 질의로 알아내야 합니다.
난이도

보통10점 중 6점

유형
배열, 수학, 구현
정답자
아직 제출이 없습니다

문제

실로폰은 나무 막대를 쳐서 소리를 내는 악기이다. 막대 하나는 늘 같은 음높이로 울리므로, 실로폰은 서로 다른 음높이를 내는 막대들로 이루어진다. JOI 군은 막대가 NN개인 실로폰을 샀다. 막대는 왼쪽에서 오른쪽으로 한 줄로 놓여 있고, 1번부터 NN번까지 번호가 붙어 있다. ii번 막대는 높이 AiA_i의 음을 낸다 (1≤Ai≤N1 \le A_i \le N). 서로 다른 막대는 서로 다른 음높이를 낸다. 가장 낮은 음을 내는 막대의 번호는 가장 높은 음을 내는 막대의 번호보다 작다. JOI 군은 어느 막대가 어떤 음을 내는지 모르므로 각 막대의 음높이를 알아내려고 한다. 여러 막대를 동시에 치면 그중 가장 높은 음과 가장 낮은 음의 차이를 들을 수 있다. 정수 ss, tt (1≤s≤t≤N1 \le s \le t \le N)에 대해 ss번부터 tt번까지의 막대를 함께 칠 수 있고, 그러면 As,As+1,…,AtA_s, A_{s+1}, \ldots, A_t의 최댓값과 최솟값의 차이를 알 수 있다. JOI 군은 10000번 안에 모든 막대의 음높이를 정해야 한다.

제한

  • 1≤Ai≤N1 \le A_i \le N (1≤i≤N1 \le i \le N)
  • Ai≠AjA_i \ne A_j (1≤i<j≤N1 \le i < j \le N)
  • Ai=1A_i = 1이고 Aj=NA_j = N인 ii, jj에 대해 i<ji < j이다.

예제1

  1. 예제 1

    입력
    1
    1
    
    예상 출력
    1