Codeforces Round 995 (Div. 3) |
---|
Закончено |
Рассмотрим колоду из $$$n$$$ карт. Позиции в колоде пронумерованы от $$$1$$$ до $$$n$$$ сверху вниз. На $$$m$$$-й позиции расположен джокер.
К колоде последовательно применяются $$$q$$$ операций. Во время $$$i$$$-й операции необходимо взять карту на $$$a_i$$$-й позиции и переместить её либо в начало, либо в конец колоды. Например, если колода имеет вид $$$[2, 1, 3, 5, 4]$$$, и $$$a_i=2$$$, то после операции колода будет $$$[1, 2, 3, 5, 4]$$$ (карту со второй позиции перенесли в начало) или $$$[2, 3, 5, 4, 1]$$$ (карту со второй позиции перенесли в конец).
Ваша задача — посчитать количество различных позиций, в которых может находиться джокер после каждой из операций.
Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.
Первая строка каждого набора содержит три целых числа $$$n$$$, $$$m$$$ и $$$q$$$ ($$$2 \le n \le 10^9$$$; $$$1 \le m \le n$$$; $$$1 \le q \le 2 \cdot 10^5$$$).
Вторая строка содержит $$$q$$$ целых чисел $$$a_1, a_2, \dots, a_q$$$ ($$$1 \le a_i \le n$$$).
Дополнительное ограничение на входные данные: сумма $$$q$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите $$$q$$$ целых чисел — количество различных позиций, в которых может находиться джокер после каждой из операций.
56 5 31 2 32 1 42 1 1 25 3 133 2 42 1 1 118 15 413 15 1 16
2 3 5 2 2 2 2 2 2 3 3 3 2 4 6 8
Название |
---|