음표
면접 대비시간 제한1초메모리 제한128 MB
음표 길이들이 타임라인을 연속 구간으로 나눌 때, 주어진 시각을 덮는 1부터 시작하는 음표 번호를 각 질의마다 구한다. 누적 합과 이분 탐색을 쓴다.
문제
한 농부가 소들에게 노래 연주를 가르치려고 한다. 이 노래는 개의 음표로 이루어져 있으며(), 번째 음표는 박자 동안 연주된다(). 따라서 노래 전체 길이는 최대 박자이다.
소들은 시각 에 연주를 시작한다. 음표 은 시각 부터 시각 직전까지, 음표 는 시각 부터 시각 직전까지 연주된다. 일반적으로 음표 는 반열린구간 동안 연주된다.
소들이 집중하도록, 농부는 개의 질문을 던진다(). 각 질문은 “시각 부터 시각 직전까지의 구간에서 어떤 음표를 연주해야 하는가?” 형태이다. 모든 질문 시각 ()는 노래가 연주되는 동안에 속하므로, 항상 정확히 하나의 음표가 연주되고 있다.
예를 들어 길이가 각각 , , 박자인 세 음표로 이루어진 노래를 생각해 보자. 시간 축은 다음과 같다.
Beat: 0 1 2 3 4 5 6 ...
|----|----|----|----|----|----|--- ...
1111111111 : :
22222: :
333333333333333:
여기서 음표 은 , 음표 는 , 음표 은 구간을 차지한다.
입력
- 첫째 줄: 두 정수 과 가 공백으로 구분되어 주어진다.
- 번째 줄: 번째 줄에는 정수 가 하나 주어진다.
- 번째 줄: 번째 줄에는 번째 질문 시각 가 하나 주어진다.
출력
- 번째 줄: 각 질문에 대해, 해당 구간에서 연주되고 있는 음표의 번호(부터 시작)를 한 줄에 하나씩 출력한다.