#include <bits/stdc++.h>
using namespace std;
const int N = 5009;
struct pp {
int w,l;
}a[N];
int n,dp[N],len;
bool cmp(pp u,pp v) {
return u.l > v.l;
}
int main() {
scanf("%d",&n);
for(int i = 1;i <= n;i++) {
scanf("%d %d",&a[i].l,&a[i].w);
}
sort(a + 1,a + n + 1,cmp);
dp[1] = a[1].w;len = 1;
for(int i = 2;i <= n;i++) {
if(dp[len] < a[i].w) dp[++len] = a[i].w;
else {
int p = lower_bound(dp + 1,dp + len + 1,a[i].w) - dp;
dp[p] = a[i].w;
}
}
printf("%d\n",len);
return 0;
}
这份代码WA成了10pts,不知道哪里错了