CHDOJ
首页
题库
题单
比赛
评测
用户
讨论
帮助
工具
云剪贴板
树图画板
代码对比
登录
注册
4102: 清点人数
时间限制:1000 ms
内存限制:128 MB
上传者:
提交:39
通过:16
提交
提交记录
讨论
统计
题目描述
NK 中学组织同学们去五云山寨参加社会实践活动,按惯例要乘坐火车去。由于 NK 中学的学生很多,在火车开之前必须清点好人数。
初始时,火车上没有学生。当同学们开始上火车时,年级主任从第一节车厢出发走到最后一节车厢,每节车厢随时都有可能有同学上下。年级主任走到第 $m$ 节车厢时,他想知道前 $m$ 节车厢上一共有多少学生,但是他没有调头往回走的习惯。也就是说每次当他提问时,$m$ 总会比前一次大。
输入格式
第一行两个整数 $n,k$,表示火车共有 $n$ 节车厢以及 $k$ 个事件。 接下来有 $k$ 行,按时间先后给出 $k$ 个事件,每行开头都有一个字母 `A`,`B` 或 `C`。
+ 如果字母为 `A`,接下来是一个数 $m$,表示年级主任现在在第 $m$ 节车厢;
+ 如果字母为 `B`,接下来是两个数 $m,p$,表示在第 $m$ 节车厢有 $p$ 名学生上车;
+ 如果字母为 `C`,接下来是两个数 $m,p$,表示在第 $m$ 节车厢有 $p$ 名学生下车。
学生总人数不会超过 $10^5$。
对于 $30\%$ 的数据,$1\le n,k\le 10^4$,至少有 $3000$ 个 `A`;
对于 $100\%$ 的数据,$1\le n\le 5\times 10^5,1\le k\le 10^5$,至少有 $3\times 10^4$ 个 `A`。
输出格式
对于每个 `A` ,输出一行,一个整数,表示年级主任的问题的答案。
输入样例
复制
10 7 A 1 B 1 1 B 3 1 B 4 1 A 2 A 3 A 10
输出样例
复制
0 1 2 3
分类标签
树状数组