#P5848. [IOI2005] mou

[IOI2005] mou

题目描述

游乐园已经开始运行一个崭新的模拟过山车。模拟的轨道由 nn 段铁轨组成,并且首尾相连。第一段铁轨从高度 00 开始。

操作员 Byteman 能通过调整连续几段的铁轨高度来改造这条轨道。在被改造的一段前面的铁轨高度不受影响。 每一次铁轨被调整。后面的轨必须升起或降低来保持连通,并保证起点高度为 00。下页举例说明轨道改造过程。 每次开始时车都有足够能量到达高度 hh。也就是说,只要轨道的高度不超过 hh,车就一直开下去, 甚至直到结束。

给出每天的运行和改造情况, 为每次运行计算在车停止前,到达的铁轨数。铁轨以一个 nn 个数的数列形式表示 ,一个数对应一段铁轨。第 iidid_i 表示在第 ii 段铁轨上的高度变化。也就是说,在到达铁轨 ii 前,如果车的高度是 hh,那么经过铁轨i后,高度变为 h+dih+d_i

最初轨道是一条水平线。就是说对于所有的 ii 都是 di=0d_i=0。运行和改造交错进行。 每个改造用三个数表示: aabbDD。表示从 aabb (包括 aa,bb) 的所有 did_i 改为 di=Dd_i=D。每次运行给定一个数字 hh ——车能到达的最大高度。

输入格式

输入的第一行包括一个正整数 nn ——铁轨的数目。

下面的行包括改造和运行,各有一个标识符:

  • 改造——一个字母 I,和整数aa,bb,DD ,中间用一个空格隔开。
  • 运行——一个字母 Q,和一个整数 hh,用一个空格隔开。
  • 一个字母 E ——结束符号,表示输入结束。

你可以假设任意时刻任意铁轨的高度在 [11000000000][1,1000000000] 区间内。

输入不超过 1000010000 行。

输出格式

ii 行需包含一个整数, 即第 ii 次运行经过的铁轨数。

4
Q 1
I 1 4 2
Q 3
Q 1
I 2 2 -1
Q 3
E

4
1
0
3

提示

对于 50%50\% 的数据,1n2×1041 \le n \le 2 \times 10^4,且输入不超过 10001000 行;

对于 100%100\% 的数据,1n1091 \le n \le 10^91a,bn1 \le a,b \le n109D109- 10^9 \le D \le 10^90h1090 \le h \le 10^9