1. paizaラーニングトップ
  2. レベルアップ問題集
  3. ユークリッドの互除法メニュー応用編(言語選択)
  4. 問題一覧 Java編
  5. 行の幅 Java編

ユークリッドの互除法メニュー応用編のサムネイル
行の幅 Java編(paizaランク C 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

ポスターを作ることになった paiza 君は、見栄えを良くするためにポスターのレイアウトを次のルールで整えることにしました。

・各行ごとに書かれている文字の左右の間隔を統一する。
・文字の間隔(mm)は整数である。
・各行の最初の文字はポスターの左端に、最後の文字はポスターの右端に書く。
・ポスター全体は 1 枚の紙とする。
・各文字同士は最低 1(mm) の間隔を空ける。

ポスターは N 行からなり、i 行目には C_i 個の文字が書かれています。
全てのルールを満たすようにレイアウトを構成するためには、紙の幅が最低何 mm 必要でしょうか。
なお、この問題では書かれる文字の幅は考慮しないものとします。

例として、文字数が 2,4,7 の 3 行からなるポスターの場合は、図の場合に紙の幅が最小になります。



文字の大きさは考慮しないので、答えは 6(mm) となります。

入力される値

N
C_1
...
C_N


・1 行目で、ポスターの行数 N が与えられます。
・続く N 行では、i 行目に書かれている文字の個数 C_i が与えられます。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

・全てのルールを満たすようにレイアウトを構成するために必要な紙の幅の最小値(mm) を 1 行で出力してください。
・また、出力の末尾には改行を入れてください。

条件

・1 ≦ N ≦ 100
・2 ≦ C_i ≦ 1000 (1 ≦ i ≦ N)
・答えは 10^12 以下である

入力例1

3
3
5
9

出力例1

8

入力例2

5
2
3
5
7
11

出力例2

60

問題一覧へ戻る

ページの先頭へ戻る