Это сложная версия задачи. Отличие между версиями заключается в том, что в этой версии $$$t \le 10^4$$$, $$$n \le 5 \cdot 10^5$$$ и сумма $$$n$$$ не превосходит $$$5 \cdot 10^5$$$. Вы можете делать взломы только в том случае, если решили все версии этой задачи.
Для непустой последовательности $$$c$$$ длины $$$k$$$ определим $$$f(c)$$$ следующим образом:
Для перестановки $$$p$$$ длины $$$n$$$$$$^{\text{∗}}$$$ Черепаха определяет красоту перестановки как $$$\sum\limits_{i = 1}^n \sum\limits_{j = i}^n f([p_i, p_{i + 1}, \ldots, p_j])$$$ (то есть, сумма $$$f(c)$$$, где $$$c$$$ — это непустой подотрезок$$$^{\text{†}}$$$ $$$p$$$).
Хрюшка дает Черепахе перестановку $$$a$$$ длины $$$n$$$, в которой некоторые элементы отсутствуют и представлены как $$$0$$$.
Черепаха просит вас определить перестановку $$$b$$$ длины $$$n$$$ такую, что:
Для удобства вам нужно только найти максимальную красоту такой перестановки $$$b$$$.
$$$^{\text{∗}}$$$Перестановкой длины $$$n$$$ является массив, состоящий из $$$n$$$ различных целых чисел от $$$1$$$ до $$$n$$$ в произвольном порядке. Например, $$$[2,3,1,5,4]$$$ — перестановка, но $$$[1,2,2]$$$ не перестановка ($$$2$$$ встречается в массиве дважды) и $$$[1,3,4]$$$ тоже не перестановка ($$$n=3$$$, но в массиве встречается $$$4$$$).
$$$^{\text{†}}$$$Последовательность $$$a$$$ является подотрезком последовательности $$$b$$$, если $$$a$$$ может быть получена из $$$b$$$ удалением нескольких (возможно, ни одного или всех) элементов с начала и нескольких (возможно, ни одного или всех) элементов с конца.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит одно целое число $$$n$$$ ($$$1 \le n \le 5 \cdot 10^5$$$).
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$0 \le a_i \le n$$$). Гарантируется, что элементы $$$a$$$, которые не равны $$$0$$$, различны.
Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$5 \cdot 10^5$$$.
Для каждого набора входных данных выведите одно целое число — максимальную красоту перестановки $$$b$$$.
821 030 0 030 1 053 2 4 5 170 3 2 5 0 0 0101 2 6 5 8 9 0 0 0 050 4 1 0 050 1 5 2 3
4 12 11 44 110 300 45 40
В первом наборе перестановка $$$b$$$ с максимальной красотой — это $$$[1, 2]$$$. Красота $$$[1, 2]$$$ равна $$$4$$$, так как $$$f([1]) + f([2]) + f([1, 2]) = 1 + 2 + 1 = 4$$$. Если $$$c = [1, 2]$$$, то $$$f(c) = 1$$$, так как Черепаха может выбрать только $$$i = 1$$$, и она установит $$$c_1$$$ в $$$\min(c_1, c_2) = 1$$$.
Во втором наборе одна из перестановок $$$b$$$ с максимальной красотой — это $$$[3, 2, 1]$$$. Красота $$$[3, 2, 1]$$$ равна $$$12$$$, так как $$$f([3]) + f([2]) + f([1]) + f([3, 2]) + f([2, 1]) + f([3, 2, 1]) = 3 + 2 + 1 + 2 + 1 + 3 = 12$$$.
В третьем наборе одна из перестановок $$$b$$$ с максимальной красотой — это $$$[2, 1, 3]$$$.
В четвертом тесте, если $$$c = [3, 2, 4, 5, 1]$$$, то $$$f(c) = 3$$$. Один из возможных процессов игры выглядит следующим образом:
В пятом наборе одна из перестановок $$$b$$$ с максимальной красотой — это $$$[1, 3, 2, 5, 6, 4, 7]$$$.
| Название |
|---|


