#P9619. Flea

    ID: 6237 传统题 1000ms 512MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>数据结构线段树分块算法基础分治

Flea

题目描述

有一条数轴,之后有 qq 个时刻,每一个时刻会执行以下三个操作中的某一个:

  1. 在数轴上位置 xx 放置一个向右跳 tt 格的跳蚤。

  2. 命令所有跳蚤向右跳一次,跳跃的距离为各自的 tt

  3. 给定区间 [l,r][l, r],求该区间内跳蚤个数。

输入格式

第一行一个整数 qq 表示操作个数。

接下来 qq 行,每一行有若干个整数,第一个数为 112233,表示操作类型,具体输入见题面。

输出格式

对于每一个3操作,输出一行数表示对应的答案。

样例

10
1 4 1
1 2 2
3 3 5
2
3 3 5
2
3 3 5
3 6 6
1 5 1
3 3 5
1
2
0
2
1

数据范围

子任务 分数 约束条件
subtask1\text{subtask1} 1111 1q10001\le q\le 1000
subtask2\text{subtask2} 2323 1ri1001\le r_i \le 100
subtask3\text{subtask3} 1313 ti=1t_i=1
subtask4\text{subtask4} 5353 无特殊限制

对于所有数据:1q,xi,ti,li,ri1051\le q,x_i,t_i,l_i,r_i\le 10^5liril_i\le r_i