eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Монети і запити

Монети і запити

У Іри є n монет, номінал i-тої монети рівний ai. Гарантується, що всі номінали є натуральними степенями числа 2, тобто ai =2d, 0 ≤ d.

Іра хоче знати відповіді на q запитів. j - тий запит описується цілим число bj. Відповіддю на запит є мінімальна кількість монет, необхідна для отримання суми bj, використовуючи лише монети, які є у Іри. Якщо Іра не може отримати суму bj, то відповіддю на j-тий запит буде -1.

Відповідь на запит не впливає на монети Іри.

Вхідні дані:

Перший рядок містить два цілих числа n і q (**1 ≤ n, q ≤ 2·105**) – кількість монет і кількість запитів.

Другий рядок містить n цілих чисел a1,a2an (**1 ≤ ai2·109**) – номінали монети.

Наступні q рядків містять по одному числу bj (**1 ≤ bj109**) – відповідний запит.

Вихідні дані:

Виведіть q цілих чисел ansj, j-те число повинно бути відповіддю на j-тий запит.

Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
5 4
2 4 8 2 4
8
5
14
10
Вихідні дані #1
1
-1
3
2