問題文
1 から N までの整数からなる順列 A=(A1,A2,dots,AN) があります。はじめ Ai=i(1leqileqN) です。
高橋君はこの順列に対し以下のような操作を K 回行います。
- 0leqk<N を満たす整数 k を選ぶ。A の後ろ k 項を前 N−k 項に挿入する。より正確には、A を以下の条件を満たす長さ N の好きな順列 A′ で置き換える。
- (A1,A2,dots,AN−k) は A′ の(連続とは限らない)部分列である。
- (AN−k+1,AN−k+2,dots,AN) は A′ の(連続とは限らない)部分列である。
i 回目の操作で選んだ k を ki としたとき、一連の操作にかかるコストは sumi=1KkiCi です。
高橋君は K 回の操作の後、A=(P1,P2,dots,PN) が成り立つように操作を行いたいです。
そのように一連の操作を行うことが可能か判定してください。可能な場合、そのような一連の操作にかかるコストの最小値を求めてください。
制約
- 2leqNleq100
- 1leqKleq100
- 1leqCileq109
- (P1,P2,dots,PN) は 1 から N までの整数からなる順列
- 入力される値はすべて整数
入力
入力は以下の形式で標準入力から与えられます。
N K
C1 C2 dots CK
P1 P2 dots PN
出力
K 回の操作の後、A=(P1,P2,dots,PN) が成り立つように操作を行うことが不可能な場合、 -1
を出力してください。可能な場合、そのような一連の操作のコストの最小値を出力してください。
入力例 1
4 1
3
3 1 2 4
出力例 1
6
操作で k=2 とし、A3=3 を A1,A2 より前に、 A4=4 を A1,A2 の後に挿入することで A=(3,1,2,4) とすることができ、 A=(P1,P2,P3,P4) が成り立ちます。この操作のコストは 2timesC1=6 です。
操作後、 A=(P1,P2,P3,P4) が成り立つように操作するとき、コストの最小値は 6 であることが証明できます。
入力例 2
4 1
3
4 3 2 1
出力例 2
-1
操作後、A=(P1,P2,P3,P4) が成り立つように操作することはできません。
入力例 3
20 10
874735445 684260477 689935252 116941558 915603029 923404262 843759669 656978932 286318130 255195090
11 15 20 10 6 8 18 2 12 4 9 13 19 3 16 7 14 17 5 1
出力例 3
7372920743