一覽衆山小 (AP325 P-6-15)
1.0s 256M所謂「會當凌絕頂,一覽衆山小。」很多人都想爬到高處,為的是將群山看小,但是登高必自卑,行遠必自邇,最好是一步一步逐步往上,妄想一步登天的人往往摔的慘重。小說與遊戲中出現的人物往往都是越晚出現越厲害,現在已知所有人物的戰力與出場順序,想要找出依照出場順序而且戰力逐步上升的人物序列,請你計算滿足這樣要求的序列的最大可能長度。
輸入格式
第一行有一個正整數 \(n\),代表出場的人物數。第二行有 \(n\) 個非負整數,是依出場順序的每一位人物的戰力,數字間以空白隔開。
限制
- \(n \le 2 \times 10^5\)。
- 戰力值不超過 \(10^8\)。
輸出格式
輸出出場順序與戰力皆遞增的序列的最大可能長度。
評分說明
每筆計分測資獨立計分,每筆 5 分,共 100 分;範例不計分。
範例輸入 1
8
2 4 1 3 6 4 6 9
範例輸出 1
5
範例輸入 2
5
5 4 3 2 1
範例輸出 2
1
範例說明
範例一:可以挑選子序列 \((1, 3, 4, 6, 9)\),長度為 \(5\)。
範例二:輸入是個遞減序列,找不到長度大於 \(1\) 的遞增子序列。
題目來源
本題出自中正大學吳邦一教授所著《AP325-從 APCS 實作題檢測三級到五級》(v1.5)第 6 章 P-6-15,第 190 頁;經作者同意於 AACPOJ 免費公開。教材下載:AP325 講義(Google Drive);Python 版:AP325-Python(HackMD)。
登入後即可撰寫程式並提交評測。
登入