搬石頭
在一個風和日麗的下午,你走在路上趕著去找你最愛的鄰國公主,突然你發現眼前出現 \(n\) 顆重量皆不相同的石頭排成一排擋住了你的去路,唉,真是不幸,明明公主近在眼前,但你必須先清除眼前這排擋路的巨石,幸好身為嬌貴的王子,你可以命令壯丁幫你完成這麻煩事。
壯丁每次可以選一顆石頭清理,但為了講求效率,同一位壯丁不能回頭清石頭(不然他可能會被後面的人撞到很危險)。你靠近仔細觀察了一下,你發現這些擋路的石頭不是一般的石頭,每次在清除石頭時,石頭的重量必須大於上一次清理的石頭重量。那麼問題來了,請問王子最少可以派幾位壯丁來幫他清除完道路上遇到的巨石呢?
輸入格式
第一行有一個整數 \(n\),表示路上的巨石數量。
接下來一行有 \(n\) 個數 \(a_1,a_2,...,a_n\),表示路上每顆石頭分別的重量。
- 保證每顆石頭的重量 \(a_i\) 皆不會重複
- \(1\leq n\leq 2 \times 10^5\)
- \(1\leq a_i\leq n\)
輸出格式
輸出一個正整數,表示王子最少需要派幾名壯丁清除石頭
範例輸入1
5
4 2 1 5 3
範例輸出1
3
範例輸入2
5
1 2 3 4 5
範例輸出2
1
說明
在範例測資 \(1\) 中,最少只需要 \(3\) 位壯丁,第一位壯丁可以依序搬重量為 \(1,5\) 的石頭,第二位壯丁可以依序搬重量為 \(2,3\) 的石頭,第三位壯丁可以依序搬重量為 \(4\) 的石頭。
在範例測資 \(2\) 中,最少只需要 \(1\) 位壯丁,第一位壯丁可以依序搬重量為 \(1,2,3,4,5\) 的石頭。
子題
#No. | 額外限制 | 分數 |
---|---|---|
1 | \(1\leq n \leq10\) | 30 |
2 | 無其他限制 | 70 |
评论