問題一覧 > 通常問題

No.126 2基のエレベータ

レベル : / 実行時間制限 : 1ケース 5.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 223
作問者 : yuki2006
9 ProblemId : 219 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2017-06-03 23:04:01

問題文

Wilsonはショッピングセンターに来ている。
ショッピングセンターは、地上100階と地下1階の合計101階存在する。
そのショッピングセンターにはエレベータが2基(それぞれ、エレベータA,エレベータBとする。)並んで存在している。
しかし、エレベータAのみ地下1階に行けるようになっている。
(エレベータBでは地下1階にはいけない)

各階には、上下のボタンが有り、それぞれのボタンを押した際に、その階に近い方のエレベータのかごが移動しきてドアが開き、客を乗せようとする。
どちらも距離が同じであればエレベータAが優先される。
すでにその階にエレベータがいると、どちらとものエレベータの移動はなく、ドアが開くだけになる。
ただし、1階で下ボタンを押すと、エレベータBは移動できないのでエレベータAのみが来てドアが開くことになる。
(エレベータBがすでに1階にいても、エレベータAが来ることになる。)

エレベータのかご内は、そのエレベータが行くことができれば任意の階のボタンを押して移動することができる。

これらのエレベータのみを使って地下一階に行きたいと思っている。
初期状態のそれぞれのエレベータの位置は把握できる。

このとき、これらのエレベータのそれぞれの現在の位置(A,B階)と、Wilsonの位置(S階)が与えられるので、エレベータの階間の最小の移動数の合計を求めてください。
客を乗せてない移動も移動数に含め、他に客がいないとする。
(与えられる値について、地下一階のことを0で表すことにする。)
エレベータに乗って、中のボタンを押してすぐに出るなどは、出来ないとする。


(余談:実際の施設がモデルです。)

入力

A B S

入力は全て整数で与えられる。
0A100=102
1B100=102
1S100=102

出力

エレベータの階間の最小の移動数を求めてください。
最後に改行してください。

サンプル

サンプル1
入力
5 10 7
出力
9

初め7階にいて、下ボタンを押すと、75<107なのでエレベータAが7階に来て(移動数2)、地下一階を目指す(移動数7)。
よって合計移動数は9である。

サンプル2
入力
10 50 30
出力
50

どちらのエレベータも、現在地への移動数は20であるのでエレベータAが向かう。
一旦30階まで上り、地下一階まで移動する。

サンプル3
入力
0 1 1
出力
2

エレベータAがすでに地下一階にいるが、エレベータは一旦1階に移動しないといけない。
1階で下ボタンを押すと、エレベータAが動くことに注意。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。