// PR Bab 13, tantangan -- pembahasan. #include using namespace std; const int MAKS = 5005; int a[MAKS]; int dp[MAKS]; int main() { int n; cin >> n; for (int i = 0; i < n; i++) cin >> a[i]; int terpanjang = 0; for (int i = 0; i < n; i++) { dp[i] = 1; // minimal dirinya sendiri for (int j = 0; j < i; j++) if (a[j] < a[i] && dp[j] + 1 > dp[i]) dp[i] = dp[j] + 1; if (dp[i] > terpanjang) terpanjang = dp[i]; } cout << terpanjang << "\n"; return 0; }