Это сложная версия задачи. Отличие между версиями заключается в том, что в этой версии ограничения на $$$n$$$ и на количество наборов входных данных меньше. Вы можете делать взломы только в том случае, если решили все версии этой задачи.
По кругу стоят $$$n$$$ сообщающихся сосудов бесконечной высоты, площадь основания каждого из сосудов равна $$$1$$$ см$$$^2$$$, между $$$i$$$-м и $$$(i \bmod n) + 1$$$-м есть соединение пренебрежимо малого объёма на высоте $$$h_i$$$ см. Для каждого сосуда $$$i$$$ найдите, какой наибольший суммарный объём воды в см$$$^3$$$ можно уместить в этих сосудах при условии, что $$$i$$$-й сосуд останется пустым.
Формально, вам дан массив $$$h_1, h_2, \ldots, h_n$$$. Назовём циклический массив целых неотрицательных чисел $$$w_1, w_2, \ldots, w_n$$$ хорошим, если выполняется:
Требуется для каждого $$$i$$$ от $$$1$$$ до $$$n$$$ сообщить максимальную сумму $$$w_1 + w_2 + \ldots + w_n$$$ среди всех хороших массивов $$$w_1, w_2, \ldots, w_n$$$, при условии, что $$$w_i = 0$$$.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
В первой строке каждого набора входных данных содержится одно число $$$n$$$ ($$$3 \le n \le 2 \cdot 10^5$$$) — количество сосудов.
Во второй строке каждого набора входных данных содержится $$$n$$$ целых чисел $$$h_1, h_2, \ldots, h_n$$$ ($$$1 \le h_i \le 10^9$$$) — высоты перегородок между сосудами.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите $$$n$$$ целых чисел — $$$l$$$-е число означает наибольший суммарный объём воды в см$$$^3$$$ в сосудах при условии, что $$$l$$$-й сосуд останется пустым.
441 2 3 455 3 1 5 263 4 2 6 1 571 2 1 4 2 3 5
6 6 7 917 16 14 14 1721 21 20 20 21 2117 17 17 17 21 21 22
Рассмотрим первый набор входных данных.
А, например, массив $$$w = [2, 2, 0, 4]$$$ не является хорошим, так как $$$\max(w_3, w_4) \gt h_3$$$, а значит, должно выполняться $$$w_3 = w_4$$$.
Можно показать, что каждый из приведённых выше массивов имеет максимальную возможную сумму среди всех подходящих вариантов.