#include <iostream> #include <vector> #include <algoritmo> using namespace std; typedef par <int, int> PII; int const N = -2e9; sin efecto de combinación (vector <PII> & segs) { vector <PII> res; sort (segs.begin (), segs.end ()); Int start = N, final = N; de (seg automático: segs) { si (seg.first> final) { res.push_back if (! = extremo N) ({start, end}); start = seg.first; terminar = seg.second; } Else { final = max (final, seg.second); } } If (! Start = N) res.push_back ({inicio, final}); segs = res; } Int main () { vector <PII> segs; int n; for (int i = 0; i <n; i ++) { int l, r; cin >> l >> r; segs.push_back ({L, R}); } De combinación (segs); cout << segs.size (); return 0; }