紅白彩帶 (APCS 2019-02 中高級)
2.0s 256M彩帶有 \(n\) 格,紅色為 \(1\)、白色為 \(0\)。依序把 \(k\) 個指定的白格染紅。每個時刻,把連續的紅格分成極大的紅色區段。請分別加總初始狀態及每次染色後的最長、最短紅色區段長度。若某個狀態沒有紅格,兩個長度都算 \(0\)。
輸入格式
第一行為 \(n,k\);第二行為 \(n\) 個顏色;第三行為 \(k\) 個染色位置(從 \(1\) 起算)。\(k=0\) 時第三行為空行。
限制
\(1\le n\le100000\);\(0\le k\le\min(n,20000)\);染色位置互異且原本是白格;所有狀態的紅色區段長度都不超過 \(10000\)。
輸出格式
第一行輸出最長長度總和,第二行輸出最短長度總和。
範例輸入 1
5 1
1 0 1 0 1
2
範例輸出 1
4
2
範例輸入 2
9 3
0 1 1 0 0 1 0 1 0
5 1 7
範例輸出 2
11
6
題目來源
APCS 2019 年 2 月實作題第 2 題。
題敘參考 tcirc d101 整理,細節可能與正式試題有出入。
登入後即可撰寫程式並提交評測。
登入