Day 28 - divide interval
重铸华农荣光 我辈义不容辞
Day 28 - divide interval
#include<iostream>
#include<queue>
#include<algorithm>
using namespace std;
const int N=100010;
int n;
struct Range{
int l,r;
bool operator<(const Range & w)const{
return l<w.l;
}
}range[N];
int main()
{
cin>>n;
for(int i=0;i<n;i++)
{
int l,r;
cin>>l>>r;
range[i]={l,r};
}
sort(range,range+n);
priority_queue<int,vector<int>,greater<int>> heap;
for(int i=0;i<n;i++)
{
auto t=range[i];
if(heap.empty()||heap.top()>=t.l) heap.push(t.r);
else{
heap.pop();
heap.push(t.r);
}
}
cout<<heap.size();
return 0;
}