K번째 수
시간 제한1초메모리 제한256 MB
서로 다른 정수로 이루어진 배열과 m개의 구간 질의가 주어질 때, 각 구간에서 k번째로 작은 값을 구한다.
문제
어떤 배열의 특정 구간을 정렬한 뒤, 그 안에서 지정된 순위의 값을 구하는 함수를 만들려고 합니다.
크기가 인 배열 에는 서로 다른 정수 개가 저장되어 있습니다. 이 배열에 대해 다음과 같은 함수 를 정의합니다.
: 부분 배열 를 오름차순으로 정렬했을 때 번째로 작은 값을 반환하는 함수
예를 들어 일 때 을 계산해 봅시다. 는 이고, 이를 정렬하면 이 됩니다. 정렬된 배열에서 3번째 값은 5이므로 입니다.
배열 와 여러 개의 질의 가 주어질 때, 각 질의의 반환값을 출력하는 프로그램을 작성하세요.
입력
첫째 줄에 배열의 크기 과 질의의 개수 이 공백으로 구분되어 주어집니다. (, )
둘째 줄에 배열의 원소 개가 순서대로 주어집니다. 각 원소는 절댓값이 이하인 정수이며, 모든 원소는 서로 다릅니다.
이어지는 개의 줄에 각 질의의 인자 , , 가 주어집니다. (, )
출력
각 질의마다 의 반환값을 한 줄에 하나씩 출력합니다.