EduBrick

J. K-е наименьшее в объединении

3000 мс · 256 МБ · всё или ничего

Даны kk отсортированных массивов. Найдите pp-е наименьшее число в их объединении, не выписывая объединение целиком.

Схема слияния из класса, но остановиться надо после pp извлечений: держим кучу голов, pp раз вынимаем минимум и добавляем следующий элемент того же массива.

Стоит O(klog⁡k+plog⁡k)O(k \log k + p \log k) вместо O(Slog⁡k)O(S \log k), где SS - суммарная длина. При маленьком pp и огромном SS разница решающая.

Это общий приём: куча позволяет получить первые pp элементов отсортированной последовательности, не сортируя всё. Тот же трюк лежит в основе «kk наименьших сумм пар» и подобных задач.

Гарантируется, что суммарная длина массивов не меньше pp.

Формат ввода

В первой строке - числа kk и pp (1≤k≤2⋅1051 \le k \le 2 \cdot 10^5, 1≤p1 \le p).

В следующих kk строках - по массиву: длина nin_i, затем nin_i чисел по неубыванию.

Суммарная длина не превосходит 2⋅1052 \cdot 10^5 и не меньше pp.

Формат вывода

Одно число - pp-е наименьшее в объединении.

Примеры

ввод
2 3
3 1 3 5
2 2 4
вывод
3
ввод
3 1
0
1 7
0
вывод
7
Войдите, чтобы отправлять решения.