CF1601D Difficult Mountain
CF1601D. Difficult Mountain 2700
一般这种神仙贪心题都做不来。
把所有登山者分成两类:一类是
如果将所有
const int N = 5e5 + 5;
int n, d, ans;
struct node {
int s, a, mx;
bool operator < (const node &v) const {
return mx != v.mx ? mx < v.mx : s < v.s;
}
} c[N];
int main(){
cin >> n >> d;
for(int i = 1; i <= n; i++) {
cin >> c[i].s >> c[i].a, c[i].mx = max(c[i].s, c[i].a);
if(c[i].s < d) i--, n--;
} sort(c + 1, c + n + 1);
for(int i = 1; i <= n; i++) if(c[i].s >= d) cmax(d, c[i].a), ans++;
cout << ans << endl;
return 0;
}