AT_abc004_4 [ABC004D] マーブル
Description
[problemUrl]: https://atcoder.jp/contests/abc004/tasks/abc004_4
一直線上に無限個の箱が並んでいます。それぞれの箱に、左から右にかけて $ ... $,$ -2 $,$ -1 $,$ 0 $,$ 1 $,$ 2 $,$ ... $ の番号が付いています。
いま、番号が $ -100 $ の箱に赤いマーブルが $ R $ 個入っています。同様に、番号が $ 0 $ の箱に緑のマーブルが $ G $ 個、番号が $ 100 $ の箱に青いマーブルが $ B $ 個入っています。これら以外の箱には何も入っていません。
以下の操作を繰り返して、全ての箱に入っているマーブルの個数が $ 1 $ 個以下になるようにして下さい。
- マーブルを $ 1 $ つ選び、それを左右どちらかの隣接する箱に移動させる。
- ただしこのとき、$ 1 $ つの箱に複数の異なる色のマーブルを入れてはならない。
必要となる最小の操作回数を求めてください。
入力は以下の形式で標準入力から与えられる。 > $ R $ $ G $ $ B $
$ 1 $ 行目に、マーブルの数を表す整数 $ R,G,B $ を半角スペース区切りで与える。 - $ R $ は番号が $ -100 $ の箱にある赤いマーブルの数を示す。
- $ G $ は番号が $ 0 $ の箱にある緑のマーブルの数を示す。
- $ B $ は番号が $ 100 $ の箱にある青いマーブルの数を示す。
- $ R,G,B $ の範囲はそれぞれ、 $ 1≦R,G,B≦300 $ である。
- この問題には部分点が設定されている。後述する部分点の項も参照すること。
必要となる最小の操作回数を $ 1 $ 行で出力してください。
また、出力の末尾には改行を入れること。 $ 1≦R,G,B≦5 $を満たすテストケース全てに正解すると、$ 100 $ 点満点のうち $ 10 $ 点が与えられる。
$ 1≦R,G,B≦40 $を満たすテストケース全てに正解すると、$ 100 $ 点満点のうち $ 30 $ 点が与えられる。
```
2 3 4 ``` ```7 ``` 以下の $ 7 $ 回の移動により、目的を達成することができます。 - 番号が $ -100 $ の箱に入っている赤いマーブルを左に移動します。 - 番号が $ 0 $ の箱に入っている緑のマーブルを左に移動します。 - 番号が $ 0 $ の箱に入っている緑のマーブルを右に移動します。 - 番号が $ 100 $ の箱に入っている青いマーブルを左に移動します。 - 番号が $ 99 $ の箱に入っている青いマーブルを左に移動します。 - 番号が $ 100 $ の箱に入っている青いマーブルを左に移動します。 - 番号が $ 100 $ の箱に入っている青いマーブルを右に移動します。 これは、$ 10 $ 点分の部分点に含まれる入力になります。 ```17 2 34 ``` ```362 ``` - これは、 $ 30 $ 点分の部分点に含まれる入力になります。 ```267 294 165 ``` ```88577 ```
Input Format
N/A
Output Format
N/A