atcoder#ABC252F. [ABC252F] Bread
[ABC252F] Bread
配点 : 点
問題文
長さ のパンが つあり、これを 人の子供たちに切り分けます。 番目 の子供は長さ のパンを欲しがっています。
そこで、高橋君は次の操作を繰り返して、長さ のパンを切り出して配ることにしました。
長さ のパン つと 以上 以下の整数 を選ぶ。選んだパンを長さ のパンと 長さ のパンに切り分ける。 このとき、 の値によらずコストが かかる。
それぞれの子供に配るパンは長さがちょうど のパン つである必要がありますが、誰にも配られずに余るパンがいくつあっても構いません。
このとき、全ての子供たちにパンを配るために必要な最小のコストを求めてください。
制約
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
出力
全ての子供たちにパンを配るために必要な最小のコストを出力せよ。
5 7
1 2 1 2 1
16
高橋君は次のようにしてパンを切り分けて配ることができます。
- 長さ のパンと整数 を選ぶ。パンは長さ のパンと長さ のパンに切り分けられる。 (コスト )
- 長さ のパンと整数 を選ぶ。パンは長さ のパンと長さ のパンに切り分けられる。前者を 番目の子供に配る。 (コスト )
- 長さ のパンと整数 を選ぶ。パンは長さ のパン つに切り分けられる。これを 番目の子供に配る。 (コスト )
- 長さ のパンと整数 を選ぶ。パンは長さ のパン つに切り分けられる。これを 番目の子供に配る。 (コスト )
このとき、コストは かかり、これが最小です。 また、余るパンはありません。
3 1000000000000000
1000000000 1000000000 1000000000
1000005000000000
それぞれの子供に配るパンの長さはちょうど でなければならない事に注意してください。