$O(n\lg n)$
#include<cstdio> #include<algorithm> int n, a[1000000], sz, x; int main() { scanf("%d", &n); while (n--) { scanf("%d", &x); int p = std::lower_bound(a, a + sz, x) - a; sz += p == sz; a[p] = x; } printf("%d", sz); return 0; }
#include<cstdio> #include<algorithm> int n, a[1000000], sz, x; int main() { scanf("%d", &n); while (n--) { scanf("%d", &x); int p = std::lower_bound(a, a + sz, x) - a; sz += p == sz; a[p] = x; } printf("%d", sz); return 0; }
댓글 없음 :
댓글 쓰기