時間限制 1000 ms ・ 記憶體限制 64 MB
題目描述
給定 1 至 n 的排列 P。起初堆疊 S1 為空,S2 由頂至底依序是 p1、p2、…、pn。你可從任一非空堆疊彈出頂端元素:若還不輸出,可將它壓入另一個堆疊;也可將它取出作為排序結果的下一個數字。 最終取出順序必須是 1、2、…、n。每次從任一堆疊彈出元素都算一次 pop,不論是轉移還是正式取出;初始放入 S2 不計成本。求最少 pop 次數。
輸入格式
第一行為 n,1 ≤ n ≤ 100000。第二行是 1 至 n 的一個排列。
輸出格式
輸出完成遞增取出所有元素所需的最少 pop 次數。
範例測資
範例輸入 1
3 3 1 2
範例輸出 1
4
範例輸入 2
4 3 2 4 1
範例輸出 2
8
請先登入後再提交程式碼
討論與題解
載入討論區…