atcoder#ARC137E. [ARC137E] Bakery

[ARC137E] Bakery

配点 : 800800

問題文

すぬけ君はパン屋の経営者です. 彼はこれから NN 日間の営業計画を考えています. これらの日を Day 1,2,,N1,2,\cdots,N と呼ぶことにします.

現在,この店にはパン職人が一人もいません. 雇う職人の候補は MM 人おり,11 から MM までの番号がついています.

職人 ii を雇うためには,CiC_i 円を支払う必要があります. 職人 ii を雇った場合,その職人は Day Li,Li+1,,RiL_i,L_i+1,\cdots,R_i に働き,それぞれの日に 11 つのパンを作ります.

jj (1jN1 \leq j \leq N) について,Day jj に売れるパンの個数の最大値 AjA_j が定まっており, Day jj に作られたパンの個数を xjx_j とすると,その日は min(xj,Aj)\min(x_j,A_j) 個のパンが売れます.

パンは一つ売れるごとに DD 円の利益が得られます.

すぬけ君は,雇う職人の集合を適切に決めることで,最終的な利益=(=(売れたパンの個数の合計)×D()\times D-(職人を雇うのに使った費用の合計)) を最大化したいです. この最大値を求めてください.

制約

  • 1N20001 \leq N \leq 2000
  • 1M20001 \leq M \leq 2000
  • 1D1091 \leq D \leq 10^9
  • 1AjM1 \leq A_j \leq M
  • 1LiRiN1 \leq L_i \leq R_i \leq N
  • 1Ci1091 \leq C_i \leq 10^9
  • 入力される値はすべて整数

入力

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

NN MM DD

A1A_1 A2A_2 \cdots ANA_N

L1L_1 R1R_1 C1C_1

L2L_2 R2R_2 C2C_2

\vdots

LML_M RMR_M CMC_M

出力

答えを出力せよ.

7 4 3
1 1 1 1 1 1 1
1 2 3
2 4 5
4 6 3
6 7 1
11

職人 1,3,41,3,4 を雇えばよいです. この時,職人を雇うのにかかる費用の合計は 77 です. また,Day 1,2,,N1,2,\cdots,N に作られるパンの個数はそれぞれ 1,1,0,1,1,2,11,1,0,1,1,2,1 個です. 売れるパンの個数の合計は 66 であり,最終的な利益は 6×37=116 \times 3-7=11 になります.

3 1 5
1 1 1
2 2 10
0

職人を一人も雇わないのが最適です.

10 10 42
6 5 1 5 2 4 2 7 10 9
3 4 4
3 7 136
9 9 14
2 7 152
3 3 33
2 4 100
3 3 38
1 10 28
3 5 66
8 8 15
543