#include #include int L[100000]; int main() { int N; std::cin >> N; std::cin >> L[0]; int l = 1; for (int i = 1; i < N; ++i) { int A; std::cin >> A; if (L[l - 1] < A) { L[l] = A; ++l; } else { *std::lower_bound(L, L + l, A) = A; } } std::cout << (N - l) << '\n'; }