Олимпиадный тренинг

Задача . E. Фишки на цепочке


Дан неориентированный граф из \(n\) вершин и \(n-1\) ребер. Вес \(i\)-го ребра равен \(a_i\); это ребро соединяет вершины \(i\) и \(i+1\).

Изначально в каждой вершине расположена фишка. Число, написанное на фишке в \(i\)-й вершине, равно \(i\).

За одну операцию можно выбрать фишку (если в какой-то вершине находится несколько фишек, то можно выбрать любую, но только одну) и передвинуть ее по ребру. Стоимость такой операции равна весу ребра.

Стоимостью графа назовем минимальную стоимость такой последовательности операций, что:

  • после того, как все операции произведены, в каждой вершине ровно одна фишка, и число на каждой фишке не равно номеру вершины, в которой она находится.

Вы должны обработать \(q\) запросов:

  • \(k\) \(x\) — изменить вес \(k\)-го ребра (соединяющего вершины \(k\) и \(k+1\)) на \(x\).

После каждого запроса выведите стоимость графа. Обратите внимание, что на самом деле вы не перемещаете фишки, только считаете стоимость графа; при каждом подсчете фишки расположены в исходных позициях.

Входные данные

В первой строке задано одно целое число \(n\) (\(2 \le n \le 2 \cdot 10^5\)).

Во второй строке заданы \(n-1\) чисел \(a_1, a_2, \dots, a_{n-1}\) (\(1 \le a_i \le 10^9\)).

В третьей строке задано одно целое число \(q\) (\(1 \le q \le 2 \cdot 10^5\)).

Затем следуют \(q\) строк. В \(i\)-й из них заданы два целых числа \(k\) и \(x\) (\(1 \le k \le n-1\); \(1 \le x \le 10^9\)) для \(i\)-го запроса.

Выходные данные

На каждый запрос выведите одно целое число — стоимость графа после выполнения запроса.


Примеры
Входные данныеВыходные данные
1 10
12 6 12 15 20 8 17 12 15
8
4 10
7 3
6 14
9 9
2 10
3 5
4 11
7 11
126
108
120
108
112
98
98
114

time 3000 ms
memory 512 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя