配点 : 900 点
問題文
すぬけくんは,長さ N の整数列 x=(x1,x2,⋯,xN) を作ろうとしています.
各 i (1≤i≤N) について,xi の値の候補が M 種類あり,そのうち k 種類目の値は Ai,k です.
なお,Ai,k を選ぶ場合には,Ci,k のコストがかかります.
また,x を決めたあと,各 i,j (1≤i<j≤N) について,
∣xi−xj∣×Wi,j のコストが追加でかかります.
最終的なコストの総和としてありうる最小値を求めてください.
制約
- 2≤N≤50
- 2≤M≤5
- $1 \leq A_{i,1} < A_{i,2} < \cdots < A_{i,M} \leq 10^6$
- 1≤Ci,k≤1015
- 1≤Wi,j≤106
- 入力される値はすべて整数である
入力
入力は以下の形式で標準入力から与えられる.
N M
A1,1 C1,1
A1,2 C1,2
⋮
A1,M C1,M
A2,1 C2,1
A2,2 C2,2
⋮
A2,M C2,M
⋮
AN,1 CN,1
AN,2 CN,2
⋮
AN,M CN,M
W1,2 W1,3 ⋯ W1,N−1 W1,N
W2,3 W2,4 ⋯ W2,N
⋮
WN−1,N
出力
答えを出力せよ.
3 2
1 1
5 2
2 3
9 4
7 2
8 2
1 5
3
28
x=(5,9,7) とすればよいです.
このときかかるコストの内訳は以下のとおりです.
- x1 として A1,2 を選んだので,C1,2=2 のコストがかかる.
- x2 として A2,2 を選んだので,C2,2=4 のコストがかかる.
- x3 として A3,1 を選んだので,C3,1=2 のコストがかかる.
- (i,j)=(1,2) について,∣xi−xj∣×Wi,j=4 のコストがかかる.
- (i,j)=(1,3) について,∣xi−xj∣×Wi,j=10 のコストがかかる.
- (i,j)=(2,3) について,∣xi−xj∣×Wi,j=6 のコストがかかる.
10 3
19 2517
38 785
43 3611
3 681
20 758
45 4745
6 913
7 2212
22 536
4 685
27 148
36 2283
25 3304
36 1855
43 2747
11 1976
32 4973
43 3964
3 4242
16 4750
50 24
4 4231
22 1526
31 2152
15 2888
28 2249
49 2208
31 3127
40 3221
47 4671
24 6 16 47 42 50 35 43 47
29 18 28 24 27 25 33 12
5 43 20 9 39 46 30
40 24 34 5 30 21
50 6 21 36 5
50 16 13 13
2 40 15
25 48
20
27790
2 2
1 1
10 10
1 1
10 10
100
2