AtCoder Beginner Contest 004

D - マーブル


Time limit時間制限 : 2sec / Memory limitメモリ制限 : 64MB

問題文

一直線上に無限個の箱が並んでいます。それぞれの箱に、左から右にかけて ...,-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 点が与えられる。


入力例 1

2 3 4

出力例 1

7
以下の 7 回の移動により、目的を達成することができます。
  • 番号が -100 の箱に入っている赤いマーブルを左に移動します。
  • 番号が 0 の箱に入っている緑のマーブルを左に移動します。
  • 番号が 0 の箱に入っている緑のマーブルを右に移動します。
  • 番号が 100 の箱に入っている青いマーブルを左に移動します。
  • 番号が 99 の箱に入っている青いマーブルを左に移動します。
  • 番号が 100 の箱に入っている青いマーブルを左に移動します。
  • 番号が 100 の箱に入っている青いマーブルを右に移動します。
これは、10 点分の部分点に含まれる入力になります。

入力例 2

17 2 34

出力例 2

362
  • これは、 30 点分の部分点に含まれる入力になります。

入力例 3

267 294 165

出力例 3

88577

Submit提出する