음표

면접 대비

시간 제한1초메모리 제한128 MB

요약
음표 길이들이 타임라인을 연속 구간으로 나눌 때, 주어진 시각을 덮는 1부터 시작하는 음표 번호를 각 질의마다 구한다. 누적 합과 이분 탐색을 쓴다.
난이도

보통10점 중 4점

유형
누적 합, 이분 탐색, 배열, 정렬
정답자
아직 제출이 없습니다

문제

한 농부가 소들에게 노래 연주를 가르치려고 한다. 이 노래는 NN개의 음표로 이루어져 있으며(1≤N≤50,0001 \le N \le 50{,}000), ii번째 음표는 BiB_i박자 동안 연주된다(1≤Bi≤10,0001 \le B_i \le 10{,}000). 따라서 노래 전체 길이는 최대 500,000,000500{,}000{,}000박자이다.

소들은 시각 00에 연주를 시작한다. 음표 11은 시각 00부터 시각 B1B_1 직전까지, 음표 22는 시각 B1B_1부터 시각 B1+B2B_1 + B_2 직전까지 연주된다. 일반적으로 음표 ii는 반열린구간 [ B1+⋯+Bi−1, B1+⋯+Bi )[\,B_1 + \cdots + B_{i-1},\ B_1 + \cdots + B_i\,) 동안 연주된다.

소들이 집중하도록, 농부는 QQ개의 질문을 던진다(1≤Q≤50,0001 \le Q \le 50{,}000). 각 질문은 “시각 TT부터 시각 T+1T+1 직전까지의 구간에서 어떤 음표를 연주해야 하는가?” 형태이다. 모든 질문 시각 TT(0≤T0 \le T)는 노래가 연주되는 동안에 속하므로, 항상 정확히 하나의 음표가 연주되고 있다.

예를 들어 길이가 각각 22, 11, 33박자인 세 음표로 이루어진 노래를 생각해 보자. 시간 축은 다음과 같다.

Beat:   0    1    2    3    4    5    6    ...
        |----|----|----|----|----|----|--- ...
        1111111111     :              :
                  22222:              :
                       333333333333333:

여기서 음표 11은 [0,2)[0, 2), 음표 22는 [2,3)[2, 3), 음표 33은 [3,6)[3, 6) 구간을 차지한다.

입력

  • 첫째 줄: 두 정수 NN과 QQ가 공백으로 구분되어 주어진다.
  • 2…N+12 \ldots N+1번째 줄: i+1i+1번째 줄에는 정수 BiB_i가 하나 주어진다.
  • N+2…N+Q+1N+2 \ldots N+Q+1번째 줄: N+i+1N+i+1번째 줄에는 ii번째 질문 시각 TiT_i가 하나 주어진다.

출력

  • 1…Q1 \ldots Q번째 줄: 각 질문에 대해, 해당 구간에서 연주되고 있는 음표의 번호(11부터 시작)를 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    3 5
    2
    1
    3
    2
    3
    4
    0
    1
    
    예상 출력
    2
    3
    3
    1
    1