题目描述
桌子上零散地放着若干个盒子,盒子都平行于墙。桌子的后方是一堵墙。如图所示。现在从桌子的前方射来一束平行光,把盒子的影子投射到了墙上。问影子的总宽度是多少?
输入格式
第1行:3个整数L,R,N。-100000 <=L<=R<= 100000,表示墙所在的区间;1<=N<=100000,表示盒子的个数
接下来N行,每行2个整数BL, BR,-100000 <=BL<=BR<= 100000,表示一个盒子的左、右端点
输出格式
输出仅为一个整数W,表示影子的总宽度。
样例数据
样例输入
1 10 3
3 5
1 4
7 8
样例输出
5
题目分析
统计标记个数(区间修改区间查询)
data直接置1不管懒标记
queryLeft~Right随便乱查
注意要加偏移量
因为C++的负数向0取整,会导致堆式编号出错
源代码
#include<algorithm>
#include<iostream>
#include<iomanip>
#include<cstring>
#include<cstdlib>
#include<vector>
#include<cstd