AcWing 803. 区间合并
原题链接
简单
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
typedef pair<int,int> pi;
vector<pi> p;
int merge(vector<pi> &p){
vector<pi> res;
sort(p.begin(),p.end());
int l=p[0].first,r=p[0].second;
for(int i=1;i<p.size();i++){
if(p[i].first>r){
res.push_back({l,r});
l=p[i].first;
r=p[i].second;
}else{
r=max(r,p[i].second);
}
}
res.push_back({l,r});
return res.size();
}
int main(){
int n;
cin>>n;
while(n--){
int l,r;
cin>>l>>r;
p.push_back({l,r});
}
cout<<merge(p);
return 0;
}