AcWing 803. 区间合并
原题链接
简单
作者:
码
,
2021-01-12 21:59:57
,
所有人可见
,
阅读 630
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
vector<pair<int,int>> seg;
int main()
{
int n,res=0;
cin>>n;
while(n--)
{
int l ,r;
cin>>l>>r;
seg.push_back({l,r});
}
sort(seg.begin(),seg.end());
int fr=-1e9-10,ed=-1e9-10;
for(int i=0;i<seg.size();i++)
{
if(seg[i].first>ed)
{
if(ed!=-1e9-10)
{
res++;
}
fr=seg[i].first,ed=seg[i].second;
}
else{
ed=max(ed,seg[i].second);
}
}
if(fr!=-1e9-10) res++;
cout<<res;
}