提交时间:2022-07-19 12:10:35

运行 ID: 52433

#include <bits/stdc++.h> using namespace std; int n; long long ans; long long f[500001]; struct node { int a; int b; } x[500001]; bool cmp(node a, node b) { return a.a - a.b > b.a - b.b; } int main() { cin >> n; for(int i = 1; i <= n; i ++) { cin >> x[i].a >> x[i].b; } sort(x + 1, x + n + 1, cmp); for(int i = 1; i <= n; i++) { for(int j = 1; j <= i; j ++) { if(x[i].a <= x[j].a && x[i].b >= x[j].b) { f[i] = max(f[i], f[j]); } } f[i]++; ans = max(ans, f[i]); } cout << ans; return 0; }