Codeforces Round 797 (Div. 3) |
---|
Закончено |
На рельсах стоит $$$n$$$ автономных вагончиков. Вагончики пронумерованы слева направо от $$$1$$$ до $$$n$$$. Вагончики между собой не сцеплены. При этом вагончики движутся влево, так что вагончик с номером $$$1$$$ движется впереди всех.
У $$$i$$$-го вагончика есть свой двигатель, который может разогнать вагончик до $$$a_i$$$ км/ч, но при этом, вагончик не может ехать быстрее, чем вагончик перед ним. Для пояснения смотрите пример.
Все вагончики одновременно начинают двигаться влево, при этом, естественно образуются поезда. Будем называть поездом — подряд движущиеся вагончики, имеющие одинаковую скорость.
Например, у нас есть $$$n=5$$$ вагончиков и массив $$$a = [10, 13, 5, 2, 6]$$$. Тогда итоговые скорости вагончиков будут равны: $$$[10, 10, 5, 2, 2]$$$. Соответственно, будет образовано $$$3$$$ поезда.
Также приходят сообщения о том, что какой-то двигатель был испорчен:
Сообщения приходят последовательно, при обработке очередного сообщения учитываются изменения от всех предыдущих сообщений.
После каждого сообщения определите количество образовавшихся поездов.
В первой строке входных данных записано единственное целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.
Далее следуют описания наборов входных данных.
Первая строка каждого набора пустая.
Во второй строке набора входных данных заданы два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n,m \le 10^5$$$) — количество вагончиков и количество сообщений по замедлению вагончика, соответственно.
В третьей строке даны $$$n$$$ целых чисел: $$$a_1, a_2, \dots, a_n$$$ ($$$0 \le a_i \le 10^9$$$) — число $$$a_i$$$ означает, что вагончик с номером $$$i$$$ может развивать скорость до $$$a_i$$$ км/ч.
В следующих $$$m$$$ строках содержится два целых числа $$$k_j$$$ и $$$d_j$$$ ($$$1 \le k_j \le n$$$, $$$0 \le d_j \le a_{k_j}$$$) — это сообщение о том, что скорость вагончика с номером $$$k_j$$$ уменьшилась на $$$d_j$$$. Другими словами, произошло изменение его максимальной скорости $$$a_{k_j} = a_{k_j} - d_j$$$. Обратите внимание, что в любой момент времени скорость каждого вагончика неотрицательна. Иными словами, $$$a_i \ge s_i$$$, где $$$s_i$$$ — это сумма таких $$$d_j$$$, что $$$k_j=i$$$.
Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превышает $$$10^5$$$. Аналогично гарантируется, что сумма значений $$$m$$$ по всем наборам входных данных не превышает $$$10^5$$$.
Выведите $$$t$$$ строк. В каждой строке выведите ответ для соответствующего набора входных данных.
Для каждого набора входных данных выведите $$$m$$$ чисел: количество образовавшихся поездов после каждого сообщения.
34 26 2 3 73 24 75 410 13 5 2 62 45 21 53 213 4769 514 336 173 181 373 519 338 985 709 729 702 16812 5816 2227 2335 117
3 4 4 4 2 3 5 6 6 5
Для первого набора входных данных:
Для второго набора входных данных:
Название |
---|