#D2128O. 堆叠草堆
堆叠草堆
题目描述
Bessie对她自己最近在农场周围的恶作剧感到抱歉,于是她同意帮助Farmer John堆叠新送达的一批干草捆。
开始时有N(N是奇数)个空草堆,标记为1..N。FJ将会给Bessie包含K条指令的序列,每条指令的格式为"A B",表示Bessie应该在草堆A..B中每一个草堆顶部新放一捆干草。例如,如果Bessie听到指令"10 13",那么她应该在草堆10,11,12和13上各新放一捆干草。
在Bessie完成了FJ的所有指令后,FJ想要知道N个草堆高度的中位数——也就是说,所有草堆排序后中央草堆(由于N是奇数,这个草堆是唯一的)的高度。请帮助Bessie确定FJ问题的答案。
输入
第1行:两个被空格分隔的整数N和K。
第2..1+K行:每行包含一条FJ的指令,其格式为两个被空格分隔的整数A和B。
输出
输出共一行一个整数, Bessie 完成所有指令后草堆高度的中位数。
样例输入
7 4
5 5
2 4
4 6
3 5
样例输出
1
提示
【输入说明】
有N=7个草堆,FJ给出了K=4条指令。第一条指令要求增加草堆5的干草捆,第二条指令要求增加草堆2..4的干草捆,等等。
【输出说明】
Bessie完成任务后,草堆的高度为0,1,2,3,3,1,0。高度的中位数是1,因为1是排序后结果0,0,1,1,2,3,3的中间数。
【数据规模】
对于20%的数据:1≤N(N为奇数)≤100;1≤K≤100;
对于40%的数据:1≤N(N为奇数)≤1,000;1≤K≤5,000;
对于60%的数据:1≤N(N为奇数)≤50,000;1≤K≤10,000;
对于100%的数据:1≤N(N为奇数)≤1,000,000;1≤K≤25,000;1≤A≤B≤N;