atcoder#ABC145F. [ABC145F] Laminate

[ABC145F] Laminate

配点 : 600600

問題文

10910^9NN 列の白色グリッドのいくつかのマスを黒く塗って、アートを製作します。 現時点では、左から ii 列目については下から HiH_i 個のマスを黒く塗り、その列の残りのマスは塗らない予定です。 アートの製作を開始する前に、あなたは KK 個以下の列 (00 個でもよい) を選び、それらの列に対する HiH_i の値を 00 以上 10910^9 以下の好きな整数に変更できます。 変更後の値は列ごとに個別に選べます。

その後、あなたは次の操作を繰り返すことで変更後のアートを製作します。

  • ある行の連続する 11 マス以上のマスを選んで黒く塗る。(すでに黒く塗られたマスを再び塗ってもよいが、塗らないことにしたマスを塗ってはならない。)

この操作を最小で何回行う必要があるか求めてください。

制約

  • 1N3001 \leq N \leq 300
  • 0KN0 \leq K \leq N
  • 1Hi1091 \leq H_i \leq 10^9
  • 入力はすべて整数である。

入力

入力は以下の形式で標準入力から与えられる。

NN KK

H1H_1 H2H_2 ...... HNH_N

出力

必要な最小の操作回数を出力せよ。

4 1
2 3 4 1
3

例えば、H3H_3 の値を 22 に変更した上で以下のような操作を行うと、33 回の操作で変更後のアートを製作することができます。

  • 下から 11 行目の左から 11 列目から 44 列目までのマスを黒く塗る。
  • 下から 22 行目の左から 11 列目から 33 列目までのマスを黒く塗る。
  • 下から 33 行目の左から 22 列目のマスを黒く塗る。
6 2
8 6 9 1 2 1
7
10 0
1 1000000000 1 1000000000 1 1000000000 1 1000000000 1 1000000000
4999999996