Codeforces Round 965 (Div. 2) |
---|
Закончено |
Вам дан массив $$$a$$$ длины $$$n$$$ и целое число $$$k$$$. Вам также дан бинарный массив $$$b$$$ длины $$$n$$$.
Вы можете выполнить следующую операцию не более $$$k$$$ раз:
Ваш счёт определяется как $$$\max\limits_{i = 1}^{n} \left( a_i + \operatorname{median}(c_i) \right)$$$, где $$$c_i$$$ обозначает массив длины $$$n-1$$$, который вы получаете, удаляя $$$a_i$$$ из $$$a$$$. Другими словами, ваш счёт — это максимальное значение $$$a_i + \operatorname{median}(c_i)$$$ среди всех $$$i$$$ от $$$1$$$ до $$$n$$$.
Найдите максимальный счёт, который можно получить при оптимальном выполнении операций.
Для произвольного массива $$$p$$$, $$$\operatorname{median}(p)$$$ определяется как $$$\left\lfloor \frac{|p|+1}{2} \right\rfloor$$$-й элемент в отсортированном $$$p$$$. Например, $$$\operatorname{median} \left( [3,2,1,3] \right) = 2$$$ и $$$\operatorname{median} \left( [6,2,4,5,1] \right) = 4$$$.
Каждый тест состоит из нескольких наборов входных данных. Первая строка содержит одно целое число $$$t$$$ ($$$1 \leq t \leq 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Каждый набор входных данных начинается с двух целых чисел $$$n$$$ и $$$k$$$ ($$$2 \leq n \leq 2 \cdot 10^5$$$, $$$0 \leq k \leq 10^9$$$) — длина $$$a$$$ и количество операций, которые вы можете выполнить.
Следующая строка содержит $$$n$$$ разделенных пробелом целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \leq a_i \leq 10^9$$$) — массив $$$a$$$.
Следующая строка содержит $$$n$$$ разделенных пробелом целых чисел $$$b_1, b_2, \ldots, b_n$$$ ($$$b_i$$$ равно $$$0$$$ или $$$1$$$) — массив $$$b$$$.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите на отдельной строке максимальное значение счёт, которое вы можете получить.
82 103 31 13 103 3 30 0 04 42 1 5 10 1 0 15 47 5 2 5 40 0 1 0 15 15 15 15 2 111 0 0 1 15 210 11 4 10 151 1 0 1 04 41 1 2 51 1 0 02 10000000001000000000 10000000001 1
16 6 8 13 21 26 8 3000000000
Для первого набора входных данных оптимально выполнить $$$5$$$ операций над обоими элементами и получить $$$a = [8,8]$$$. Таким образом, максимальная оценка, которую мы можем получить, равна $$$\max(8 + \operatorname{median}[8], 8 + \operatorname{median}[8]) = 16$$$, так как $$$c_1 = [a_2] = [8]$$$. Можно доказать, что получить больший счёт невозможно.
Для второго набора входных данных вы не можете выполнить операции ни над одним элементом, поэтому $$$a$$$ остается $$$[3,3,3]$$$. Таким образом, максимальная оценка, которую мы можем получить, равна $$$3 + \operatorname{median}[3, 3] = 6$$$, так как $$$c_1 = [a_2, a_3] = [3, 3]$$$. Можно доказать, что получить больший счёт невозможно.
Название |
---|