题目描述
小猪上初中了,初中真好啊,有很多自修课哦。很多同学喜欢在自修课时到教室外面去,说是到老师那问问题。
学校规定,自修课到教室外去的每个同学都必须做好登记,每次进出教室的登记是以一对整数a和b来描述的,表示某一个同学在时刻a时到教室外面,在时刻b以后回到教室内。也就是说在时刻a至时刻b 的这段时间中,这个登记的同学一直在教室外面。
校长想知道最多有多少同学在同一时刻都在教室外面,但同学们进进出出教室的记载实在很乱,于是校长请参加信息学兴趣小组的小猪来统计。
输入
第一行只有一个整数n,表示共有n个同学进出教室的记载。
接下来n 行,每行二个整数a和b,表示有一个同学在第a时刻出了教室,他在第b时刻后回到教室。
输出
仅有一行, 该行只有一个整数, 表示最多有多少同学在同一时刻都在教室外面。
样例输入
4 2 6 8 9 1 5 1 2
样例输出
3
Code:
#include<bits/stdc++.h>
using namespace std;
int n,x,y,m,a[2000005];
bool cmp(int a,int b){if(abs(a)==abs(b)){return a<b;}return abs(a)<abs(b);
}
int main(){cin>>n;for(int i=1;i<=n;i++){cin>>x>>y;a[++m]=x;a[++m]=-(y+1);}sort(a+1,a+m+1,cmp);int sum=0,ans=0;for(int i=1;i<=m;i++){if(a[i]<0)sum--;else{sum++;ans=max(ans,sum);}} cout<<ans;return 0;
}