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

Задача . C. Обитатель морских глубин


На исследование глубин океана отправились \(n\) кораблей, корабли пронумерованы от \(1\) до \(n\) и следуют друг за другом в порядке возрастания номеров, \(i\)-й корабль имеет прочность \(a_i\).

На корабли напал Кракен, он атакует корабли \(k\) раз в определённом порядке. Сначала он атакует первый из кораблей, потом последний, потом снова первый и так далее.

Каждая атака Кракена снижает прочность корабля на \(1\). Когда прочность корабля опускается до \(0\), он тонет и больше не подвергается атакам (таким образом корабль перестаёт быть первым или последним, а Кракен атакует только те корабли, которые ещё не утонули). Если все корабли оказались потоплены, Кракену нечего атаковать, и он уплывает.

Например, если \(n=4\), \(k=5\) и \(a=[1, 2, 4, 3]\), то произойдёт следующее:

  1. Кракен атакует первый корабль, его прочность стала нулевой и теперь \(a = [2, 4, 3]\);
  2. Кракен атакует последний корабль, теперь \(a = [2, 4, 2]\);
  3. Кракен атакует первый корабль, теперь \(a = [1, 4, 2]\);
  4. Кракен атакует последний корабль, теперь \(a = [1, 4, 1]\);
  5. Кракен атакует первый корабль, его прочность стала нулевой и теперь \(a = [4, 1]\).

Сколько кораблей оказались потоплены после нападения Кракена?

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

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

Первая строка каждого набора содержит два целых числа \(n\) и \(k\) (\(1 \le n \le 2 \cdot 10^5\), \(1 \le k \le 10^{15}\)) — количество кораблей, а так же сколько раз Кракен будет атаковать корабли.

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

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

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

Для каждого набора входных данных в отдельной строке выведите количество потопленных Кракеном кораблей.


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

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

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