# 公寓的樓梯 學生要考 apcs,要幫他找題目練 $p1$ 的穩定度, 但歷屆 $p1$ 和 cpe 的 $p1$ 他都寫得差不多了, 所以出了一題類似 apcs 的 $p1$,難度跟題型應該都差不多...嗎? ## 題目敘述 Ateto 準備進入大學成為大一新生,但他並不打算選擇住宿而是在外租房,而他選擇了租一間在公寓裡的套房,這座公寓有 $N~(N<100000)$ 層樓並設有 $2$ 座電梯,假設使用者欲從 $p$ 樓前往 $q$ 樓 $(p,~q~<1000000)$,當使用者在第 $p$ 樓按下向上或向下的按鈕後電梯系統將會派送電梯前往 $p$ 樓。 現在有 $k$ 位乘客,而當前的電梯位置分別在 $n$ 樓和 $m$ 樓 $(n,~m~<1000000)$,因為電梯比較破舊一次只能搭乘一位乘客,對沒錯,就算有兩台電梯一次也只能搭一個人,就是這麼樣的破舊,並且這個電梯為先搶先贏制,也就是說使用者們必須排隊,電梯必須依照順序服務每位乘客,而電梯將依照輸入的順序依序服務每位乘客,此外,這 $k$ 位乘客皆有可能在不同的樓層。請計算這 $2$ 座電梯共至少需要移動幾個樓層才能完成服務這 $k$ 位乘客的任務。 ## 輸入說明 輸入共 $4$ 行,第一行有一正整數 $k$ 表示乘客人數; 第二行有兩正整數 $n$ 和 $m$ 表示兩台電梯的起始位置 $p_i$; 第三行有 $k$ 個正整數,表示第 $k_i$ 位乘客當前的樓層 $q_i$; 第四行有 $k$ 個正整數,表示第 $k_i$ 位乘客要前往的樓層。 - $(30\%)~~k=1$ - $(70\%)~$ 無其他限制,$k<1000000$。 ## 輸出說明 輸出兩座電梯一共最少需要移動多少樓層。 #### 範例輸入1 ```` 1 3 9 11 28 ```` #### 範例輸出1 ```` 19 ```` #### 範例輸入2 ```` 6 5 5 3 2 8 7 6 20 5 9 1 2 11 8 ```` #### 範例輸出2 ```` 59 ```` --- ::: danger ### 補充說明 這題目是自己出的沒有傳到 OJ,如果有人想傳請告知一下並附上出處, 另外有以下疑問可以用mail連絡我,感恩: - 題目有問題或出錯 - 想拿參考程式碼 (解答) - 想問解題思路 #### About - 命題者:[Ateto](https://hackmd.io/@Ateto) - Gmail: tonysu1204@gmail.com ::: {%hackmd /@Ateto/BJRpsqII9 %}