提交时间:2022-07-19 11:58:04

运行 ID: 52354

#include <bits/stdc++.h> using namespace std; typedef long long ll; const int maxn=5e5+1; struct nd { ll begin,end; } a[maxn]; bool cmp(nd a,nd b) { if(a.begin==b.begin) { return a.end>b.end; } return a.begin<b.begin; } int main() { ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); ll n; cin>>n; for(ll i=1; i<=n; i++) { cin>>a[i].begin>>a[i].end; } sort(a+1,a+n+1,cmp); ll begin=a[1].begin,end=a[1].end,ans=1; for(ll i=2; i<=n; i++) { if(a[i].begin>=begin&&a[i].end<=end) { ans++; begin=a[i].begin,end=a[i].end; } } cout<<ans; return 0; }