#CF3737. 火车计数
火车计数
题目描述
有 个独立的车厢在铁轨上,编号从 到 。车厢没有连接在一起。车厢向左移动,所以编号为 的车厢领先于它们所有的车厢。
第 个车厢有自己的引擎,可以将车厢加速到 公里/小时,但是车厢不能比前面的车厢跑得更快。详见样例。
所有车厢同时开始向左移动,它们自然地形成了一些列火车。我们将由相同速度的连续移动的车厢称为一列火车。
例如,有 辆车厢和数组 。那么车厢的最终速度将是 。相应地,将形成 列火车。
还有消息说某个引擎已经损坏了:
消息 k d
表示第 辆车的速度降低了 (即车厢的最大速度发生了变化 )。
消息逐个到达,处理下一条消息时会考虑所有先前消息的更改。
在每个消息之后,确定形成的火车数量。
输入格式
输入数据的第一行包含一个整数 — 测试用例的数量。
其后是每个测试用例的描述。
每个测试用例的第一行为空行。
测试用例的第二行包含两个整数 和 — 车厢数量和减速消息数量。
第三行包含 个整数: — 数字 表示第 辆车可以达到 公里/小时的速度。
接下来的 行包含两个整数 和 — 这是第 辆车速度减慢了 。换句话说,它的最大速度 有所变化。请注意,在任何时候,每个车厢的速度都是非负的。换句话说,,其中 是所有 的 的和。
保证 所有测试用例的总和不超过 。同样,保证 所有测试用例的总和不超过 。
输出格式
打印 行。每行打印相应测试用例的答案。
对于每个测试用例,打印 个数字:每条消息后形成的火车数量。
测试样例
3
4 2
6 2 3 7
3 2
4 7
5 4
10 13 5 2 6
2 4
5 2
1 5
3 2
13 4
769 514 336 173 181 373 519 338 985 709 729 702 168
12 581
6 222
7 233
5 117
3 4
4 4 2 3
5 6 6 5
样例说明
针对第一个测试用例:
初始数组 。
第一条消息后,数组 。因此,车厢的速度为 ,将形成 节火车。
第二条消息后,数组 。因此,车厢的速度为 ,将形成 节火车。
针对第二个测试用例:
初始数组 。
第一条消息后,数组 。因此,车厢的速度相同:,将形成 节火车。
第二条消息后,数组 。因此,车厢的速度为 ,将形成 节火车。
第三条消息后,数组 。因此,车厢的速度为 ,将形成 节火车。
第四条消息后,数组 。因此,车厢的速度为 ,将形成 节火车。