#p3982. 习题11.2.7 预约
习题11.2.7 预约
题目描述
JZYZ有一间空的礼堂,可以为企业或者单位提供会议场地。这些会议中的大多数都需要连续几天的时间(个别的可能只需要一天),不过场地只有一个,所以不同的会议的时间申请不能够冲突。也就是说,前一个会议的结束日期必须在后一个会议的开始日期之前。所以,如果要接受一个新的场地预约申请,就必须拒绝掉与这个申请相冲突的预约。
一般来说,如果JZYZ方面事先已经接受了一个会场预约,例如从10日到15日,就不会再接受与之相冲突的预约,例如从12日到17日。不过,有时出于经济利益,HL方面有时会为了接受一个新的会场预约,而拒绝掉一个甚至几个之前预订的预约。
于是,礼堂管理员QQ的笔记本上经常记录着这样的信息:
老板决定:接受10日-15日的预约;
老板决定:接受17日-19日的预约;
老板决定:接受12日-17日的预约,且拒绝与之相冲突的2个预约;
老板决定:接受11日-12日的预约,且拒绝与之相冲突的1个预约;
本题中为方便起见,所有的日期都用一个整数表示。例如,如果一个为期10天的会议从“90日”开始到“99日”,那么下一个会议最早只能从“100日”开始。
最近,这个业务的工作量与日俱增,礼堂的管理员QQ希望你替他设计一套计算机系统,方便他的工作。这个系统应当能执行下面两个操作:
A操作:有一个新的预约是从“start日”到“end日”,并且拒绝掉所有与它相冲突的预约。执行这个操作的时候,你的系统应当返回为了这个新预约而拒绝掉的预约个数,以方便QQ与自己的记录相校对。
B操作:请你的系统返回当前仍然有效的预约的总数。
输入格式
输入文件的第一行是一个整数n,表示你的系统将接受的操作总数。
接下去n行每行表示一个操作。每一行的格式为下面两者之一:
“A start end”表示一个A操作;
“B”表示一个B操作。
输出格式
输出文件有n行,每行一个整数对应一个输入操作。表示你的系统对于该操作的返回值。
样例数据
input
6
A 10 15
A 17 19
A 12 17
A 90 99
A 11 12
B
output
0
0
2
0
1
2
数据规模与约定
对于10%的数据, ;
对于60%的数据, ;
对于100%的数据,$1 \leq N \leq 200000, 1\leq start \leq end \leq 10^5$ 。
时间限制:
空间限制: