Олимпиадный тренинг

Задача . H. Тест Сакурако


Сакурако вскоре будет сдавать тест. Тест можно описать как массив целых чисел \(n\) и задание на нем:

Задав целое число \(x\), Сакурако может выполнить следующую операцию любое количество раз:

  • Выбрать целое число \(i\) (\(1\le i\le n\)) такое, что \(a_i\ge x\);
  • Изменить значение \(a_i\) на \(a_i-x\).

Применяя эту операцию произвольное количество раз, она хочет найти минимальную возможную медиану\(^{\text{∗}}\) массива \(a\).

Сакурако знает массив, но не знает целое число \(x\). Кто-то проболтался, что одно из \(q\) значений \(x\) будет в следующем тесте, поэтому Сакурако спрашивает вас, каков ответ для каждого такого \(x\).

\(^{\text{∗}}\)Медиана массива длины \(n\) — это элемент, который стоит в середине отсортированного массива (в \(\frac{n+2}{2}\)-й позиции для чётного \(n\), и в \(\frac{n+1}{2}\)-й для нечётного)

Входные данные

Первая строка содержит одно целое число \(t\) (\(1\le t\le 10^4\))  — количество наборов входных данных.

Первая строка каждого набора содержит два целых числа \(n\) и \(q\) (\(1\le n,q\le 10^5\))  — количество элементов массива и количество запросов.

Вторая строка каждого набора содержит \(n\) целых чисел \(a_1, a_2, \dots, a_n\) (\(1\le a_i\le n\))  — элементы массива.

Следующие \(q\) строк содержат по одному целому числу \(x\) (\(1\le x\le n\)).

Гарантируется, что сумма \(n\) по всем наборам входных данных не превысит \(10^5\). То же самое гарантируется и для суммы \(q\) по всем наборам входных данных.

Выходные данные

Для каждого набора входных данных выведите \(q\) целых чисел  — ответ для каждого запроса.


Примеры
Входные данныеВыходные данные
1 2
5 5
1 2 3 4 5
1
2
3
4
5
6 3
1 2 6 4 1 3
2
1
5
0 1 1 1 2 
1 0 2

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя