atcoder#ABC145F. [ABC145F] Laminate
[ABC145F] Laminate
配点 : 点
問題文
行 列の白色グリッドのいくつかのマスを黒く塗って、アートを製作します。 現時点では、左から 列目については下から 個のマスを黒く塗り、その列の残りのマスは塗らない予定です。 アートの製作を開始する前に、あなたは 個以下の列 ( 個でもよい) を選び、それらの列に対する の値を 以上 以下の好きな整数に変更できます。 変更後の値は列ごとに個別に選べます。
その後、あなたは次の操作を繰り返すことで変更後のアートを製作します。
- ある行の連続する マス以上のマスを選んで黒く塗る。(すでに黒く塗られたマスを再び塗ってもよいが、塗らないことにしたマスを塗ってはならない。)
この操作を最小で何回行う必要があるか求めてください。
制約
- 入力はすべて整数である。
入力
入力は以下の形式で標準入力から与えられる。
出力
必要な最小の操作回数を出力せよ。
4 1
2 3 4 1
3
例えば、 の値を に変更した上で以下のような操作を行うと、 回の操作で変更後のアートを製作することができます。
- 下から 行目の左から 列目から 列目までのマスを黒く塗る。
- 下から 行目の左から 列目から 列目までのマスを黒く塗る。
- 下から 行目の左から 列目のマスを黒く塗る。
6 2
8 6 9 1 2 1
7
10 0
1 1000000000 1 1000000000 1 1000000000 1 1000000000 1 1000000000
4999999996