| Codeforces Round 1107 (Div. 3) |
|---|
| Закончено |
Обратите внимание, что ответ в этой задаче может не поместиться в int64 или long long. Рекомендуется использовать int128.
Для массива $$$b$$$ длины $$$m$$$, определим $$$f(b)$$$ как минимальное возможное значение $$$\max(b) - \min(b)$$$, которого можно достичь применив следующую операцию любое число раз:
Вам дан массив $$$a$$$ длины $$$n$$$. Ваша задача посчитать сумму $$$f$$$ по всем подмассивам$$$^{\text{∗}}$$$ $$$a$$$. Формально вам нужно найти значение
$$$$$$\sum_{1 \le l \le r \le n} f([a_l,a_{l+1},\dots,a_r]).$$$$$$
$$$^{\text{∗}}$$$Массив $$$b$$$ является подмассивом массива $$$a$$$ если $$$b$$$ можно получить из $$$a$$$ путём удаления нескольких (возможно ни одного или всех) элементов из начала и удаления нескольких (возможно ни одного или всех) элементов из конца. В частности весь массив является подмассивом самого себя.
Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следуют описания наборов.
Первая строка каждого набора содержит одно целое число $$$n$$$ ($$$1 \le n \le 2\cdot10^5$$$) — длину массива $$$a$$$.
Вторая строка каждого набора содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le 10^9$$$) — элементы массива $$$a$$$.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2\cdot10^5$$$.
Для каждого набора входных данных выведите одно целое число — значение $$$\sum_{1 \le l \le r \le n} f([a_l,a_{l+1},\dots,a_r])$$$.
536 4 841 2 3 499 9 8 2 4 4 3 5 3618 12 24 9 6 36636 24 18 12 9 6
433972111
Рассмотрим все подмассивы в первом примере.
Ответом для первого примера будет $$$0+0+0+2+0+2=4$$$.
Во втором примере подмассивы длины $$$1$$$ дают $$$0$$$. Среди остальных только $$$[2,3]$$$, $$$[3,4]$$$ и $$$[2,3,4]$$$ дают $$$1$$$, все оставшиеся дают ноль. Ответ равен $$$1+1+1=3$$$.
| Название |
|---|


