Вложенные коробки с конфетами

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

요약
i층 상자가 i-1층 상자를 a_i개 담는 중첩 구조에서, 여러 질의 x에 대해 사탕을 x개 이상 얻기 위해 열어야 하는 최소 상자 수를 구한다.
난이도

보통10점 중 7점

유형
그리디, 구현, 수학
정답자
아직 제출이 없습니다

문제

В качестве новогоднего подарка Андрей получил коробку с конфетами. Или не совсем коробку. На самом деле он быстро обнаружил, что внутри коробки находятся ещё несколько одинаковых коробок меньшего размера, внутри которых содержатся ещё меньшие коробки и так далее... Формально, скажем что конфета является коробкой уровня 00, а коробка уровня ii содержит в себе a_ia\_i коробок уровня i−1i - 1. Коробка, подаренная Андрею, имеет уровень nn.

Сегодня к Андрею в гости придут друзья и он хочет поделиться с ними некоторым количеством конфет, для чего ему придётся открыть некоторое количество коробок. Разумеется, Андрей не может открыть коробку, если она находится внутри ещё не открытой коробки. Ему хотелось бы знать, какое минимальное количество коробок ему потребуется открыть, чтобы достать xx конфет. Поскольку Андрей ещё не уверен, сколько друзей к нему сегодня придут, он просит вас решить задачу для нескольких значений xx.

입력

В первой строке входных данных записаны числа nn и mm (1≤n,m≤300,0001 \leq n, m \leq 300\\,000) --- количество коробок и количество вопросов Андрея соответственно.

Во второй строке записаны nn целых чисел a_1,a_2,…,a_na\_1, a\_2, \ldots, a\_n (1≤a_i≤1091 \leq a\_i \leq 10^9).

В третьей строке записаны mm чисел x_1,x_2…,x_mx\_1, x\_2 \ldots, x\_m (1≤x_i≤10121 \leq x\_i \leq 10^{12}) --- значения количества конфет, для которых Андрей хочет знать ответ. Гарантируется, что каждое значение x_ix\_i не превосходит общего число конфет в коробке уровня nn.

출력

Выведите mm целых чисел, ii-е из них должно равняться минимальному количеству коробок, которое потребуется открыть Андрею, чтобы получить хотя бы x_ix\_i конфет.

힌트

В первом примере единственная конфета спрятана в пяти уровнях коробок.

Во втором примере, чтобы получить 1313 конфет, Андрей должен открыть самую большую коробку, затем две коробки уровня 22, и, наконец, пять из шести имеющихся коробок уровня 11.

예제2

  1. 예제 1

    입력
    5 1
    1 1 1 1 1
    1
    
    예상 출력
    5
    
  2. 예제 2

    입력
    3 3
    3 3 3
    2 8 13
    
    예상 출력
    3
    5
    8