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

Задача . G. Великий Уравнитель


Тёма приобрел на радиорынке старый прибор с маленьким экраном и потёртой надписью «Великий Уравнитель» на боковой стенке.

Продавец сказал, что прибору на вход необходимо подать массив целых чисел \(a\), после чего «Великий Уравнитель» будет работать следующим образом:

  1. Отсортировать текущий массив по неубыванию и выкинуть повторяющиеся элементы, оставляя только одно вхождение каждого элемента.
  2. Если текущая длина массива равна \(1\), прибор заканчивает работу и выводит на экран единственное число массива — результат работы прибора.
  3. Прибавить к текущему массиву арифметическую прогрессию {\(n,\ n - 1,\ n - 2,\ \ldots,\ 1\)}, где \(n\) — длина текущего массива. Иными словами, к \(i\)-у элементу массива, при нумерации с нуля, прибавится \(n - i\).
  4. Перейти к первому шагу.

Чтобы протестировать работу прибора, Тёма придумал некоторый массив целых чисел \(a\), после чего захотел проделать \(q\) операций с массивом \(a\) следующего вида:

  1. Присвоить элементу \(a_i\) (\(1 \le i \le n\)) значение \(x\) (\(1 \le x \le 10^9\)).
  2. Подать на вход прибору массив \(a\) и узнать результат работы прибора, при этом во время работы прибора, массив \(a\) не изменяется.

Помогите Тёме узнать результат работы прибора после каждого запроса изменения.

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

В первой строке входных данных содержится одно целое число \(t\) (\(1 \le t \le 10^4\)) — количество наборов входных данных в тесте.

Далее следуют описания наборов.

В первой строке набора содержится единственное число \(n\) (\(1 \le n \le 2 \cdot 10^5\)) — размер массива \(a\), который изначально придумал Тёма.

Во второй строке набора содержится \(n\) чисел \(a_1, a_2, a_3, \ldots, a_n\) (\(1 \le a_i \le 10^9\)) — элементы массива \(a\).

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

В каждой из следующих \(q\) строк набора содержится два целых числа \(i\) (\(1 \le i \le n\)) и \(x\) (\(1 \le x \le 10^9\)) — описания запросов.

Гарантируется, что сумма значений \(n\) и сумма значений \(q\) по всем наборам входных данных не превосходят \(2 \cdot 10^5\).

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

Для каждого набора входных данных выведите \(q\) целых чисел — результат работы прибора после каждого запроса изменения.

Примечание

Давайте рассмотрим первый пример входных данных.

Сначала массив чисел, подаваемый на вход прибору будет равен \([6, 4, 8]\). Он будет меняться следующим образом: \(\)[6, 4, 8] \rightarrow [4, 6, 8] \rightarrow [7, 8, 9] \rightarrow [10, 10, 10] \rightarrow [10]\(\)

Затем массив чисел, подаваемый на вход прибору будет равен \([6, 10, 8]\). Он будет меняться следующим образом: \(\)[6, 10, 8] \rightarrow [6, 8, 10] \rightarrow [9, 10, 11] \rightarrow [12, 12, 12] \rightarrow [12]\(\)

Последний массив чисел, подаваемый на вход прибору будет равен \([6, 10, 1]\). Он будет меняться следующим образом: \(\)[6, 10, 1] \rightarrow [1, 6, 10] \rightarrow [4, 8, 11] \rightarrow [7, 10, 12] \rightarrow [10, 12, 13] \rightarrow [13, 14, 14] \rightarrow [13, 14] \rightarrow [15, 15] \rightarrow [15]\(\)


Примеры
Входные данныеВыходные данные
1 4
3
2 4 8
3
1 6
2 10
3 1
5
1 2 2 2 2
1
5 3
2
5 6
7
1 2
1 7
1 7
2 5
1 2
2 7
2 2
5
2 5 1 10 6
10
1 7
4 8
2 5
1 4
2 8
3 4
1 9
3 7
3 4
3 1
10 12 15 
4 
10 8 8 9 8 12 2 
14 12 12 11 11 10 11 10 11 14

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

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