실로폰
시간 제한2초메모리 제한512 MB
구간 [s, t]를 쳤을 때 얻는 최댓값과 최솟값의 차이만으로 각 막대의 음높이를 10000번 이내의 질의로 알아내야 합니다.
문제
실로폰은 나무 막대를 쳐서 소리를 내는 악기이다. 막대 하나는 늘 같은 음높이로 울리므로, 실로폰은 서로 다른 음높이를 내는 막대들로 이루어진다. JOI 군은 막대가 개인 실로폰을 샀다. 막대는 왼쪽에서 오른쪽으로 한 줄로 놓여 있고, 1번부터 번까지 번호가 붙어 있다. 번 막대는 높이 의 음을 낸다 (). 서로 다른 막대는 서로 다른 음높이를 낸다. 가장 낮은 음을 내는 막대의 번호는 가장 높은 음을 내는 막대의 번호보다 작다. JOI 군은 어느 막대가 어떤 음을 내는지 모르므로 각 막대의 음높이를 알아내려고 한다. 여러 막대를 동시에 치면 그중 가장 높은 음과 가장 낮은 음의 차이를 들을 수 있다. 정수 , ()에 대해 번부터 번까지의 막대를 함께 칠 수 있고, 그러면 의 최댓값과 최솟값의 차이를 알 수 있다. JOI 군은 10000번 안에 모든 막대의 음높이를 정해야 한다.
제한
- ()
- ()
- 이고 인 , 에 대해 이다.