提交时间:2022-07-19 11:51:27
运行 ID: 52270
#include <bits/stdc++.h> using namespace std; const int MXN = 5 * 1e5 + 10; int n, ans(1); struct node { int l, r; int len; }a[MXN], tmp; inline bool cmp(node a, node b) { return a.len < b.len; } int main() { ios::sync_with_stdio(false); cin >> n; for(int i(1); i <= n; i++) { cin >> a[i].l >> a[i].r; a[i].len = a[i].r - a[i].l; } sort(a + 1, a + n + 1, cmp); tmp.l = a[n].l, tmp.r = a[n].r, tmp.len = a[n].len; for(int i(n - 1); i >= 1; i--) { if(a[i].l > tmp.l && a[i].r < tmp.r) { ans++; tmp.l = a[i].l, tmp.r = a[i].r, tmp.len = a[i].len; } } cout << ans << endl; return 0; }