아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

잠긴 문

시간 제한40초메모리 제한1024 MB

요약
일렬로 놓인 방 사이 문의 난이도가 모두 다를 때, 주어진 방에서 시작해 열 수 있는 문 중 더 쉬운 쪽을 항상 열며 방문할 때 K번째로 방문하는 방을 여러 질의에 대해 구한다.
난이도

어려움10점 중 8점

유형
트리, 분할 정복, 이분 탐색, 시뮬레이션
정답자
아직 제출이 없습니다

문제

Bangles는 박물관 관람을 준비한다. 박물관은 일렬로 늘어선 N개의 방으로 이루어져 있고, 방은 왼쪽에서 오른쪽으로 1번부터 N번까지 번호가 붙어 있다. 방들은 N-1개의 잠긴 문으로 이어져 있으며, 각 문은 서로 인접한 두 방을 연결한다. 각 문에는 Bangles가 문을 여는 데 드는 어려움을 나타내는 난이도가 있다. 두 문의 난이도가 같을 수는 없다. i번 방과 (i+1)번 방 사이의 문의 난이도는 Di이다.

Bangles는 방 하나를 골라 그 방에서 시작해 박물관의 모든 방을 하나씩 방문하며 사진을 찍는다. 시작한 방에서 사진을 찍은 뒤, 모든 방에서 사진을 찍을 때까지 다음 절차를 반복한다. 열 수 있는 잠긴 문이 두 개라면 난이도가 더 낮은 문을 열고 새로 열린 방에서 사진을 찍는다. 열 수 있는 잠긴 문이 하나뿐이라면 그 문을 연다. 한 번 연 문은 계속 열린 상태로 남는다.

Bangles는 아직 어느 방에서 시작할지 정하지 못했기 때문에, 여러분이 Q개의 질문에 답해야 한다. i번째 질문은 Si번 방에서 시작했을 때 Bangles가 사진을 찍게 되는 Ki번째 방이 어디인지 묻는다.

입력

입력의 첫 줄에는 테스트 케이스의 수 T가 주어진다. T개의 테스트 케이스가 이어진다. 각 테스트 케이스의 첫 줄에는 두 정수 N과 Q가 주어진다. 둘째 줄에는 잠긴 문을 나타내는 N-1개의 정수가 주어진다. 1부터 시작해 i번째 정수는 Di이다. 그다음 Q개의 줄에 질문이 주어진다. 이 중 i번째 줄에는 두 정수 Si와 Ki가 주어진다.

출력

각 테스트 케이스마다 Case #x: y 형식의 한 줄을 출력한다. 여기서 x는 테스트 케이스 번호(1부터 시작)이고, y는 Q개의 질문에 대한 답을 순서대로 공백으로 구분해 나열한 목록이다.

제한

  • 1 ≤ T ≤ 100.
  • 1 ≤ Di ≤ 105, 모든 i에 대해.
  • 모든 Di는 서로 다르다.
  • 1 ≤ Si ≤ N, 모든 i에 대해.
  • 1 ≤ Ki ≤ N, 모든 i에 대해.

힌트

예제 1에는 네 개의 질문이 있다.

  • 첫 번째 질문에서 Bangles는 3, 2, 4, 5, 1번 방 순서로 사진을 찍으므로 답은 5이다.
  • 두 번째 질문에서 Bangles는 3, 2, 4, 5, 1번 방 순서로 사진을 찍으므로 답은 3이다.
  • 세 번째 질문에서 Bangles는 1, 2, 3, 4, 5번 방 순서로 사진을 찍으므로 답은 5이다.
  • 네 번째 질문에서 Bangles는 4, 3, 2, 5, 1번 방 순서로 사진을 찍으므로 답은 2이다.

예제 2에는 두 개의 질문이 있다.

  • 첫 번째 질문에서 Bangles는 6, 5, 4, 3, 2, 1, 7, 8, 9, 10번 방 순서로 사진을 찍으므로 답은 8이다.
  • 두 번째 질문은 첫 번째 질문과 같으므로 답도 8이다.

예제1

  1. 예제 1

    입력
    2
    5 4
    90 30 40 60
    3 4
    3 1
    1 5
    4 3
    10 2
    6 2 4 5 9 30 7 1 8
    6 8
    6 8
    
    예상 출력
    Case #1: 5 3 5 2
    Case #2: 8 8