問題一覧 > 通常問題

No.2332 Make a Sequence

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 37
作問者 : dyktr_06 / テスター : firiexp phocom hikikomori sepa38 Seed57_cash
4 ProblemId : 9531 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2023-05-26 23:09:17

問題文

長さ NN の整数列 AA、長さ MM の整数列 B,CB, C が与えられます。

また、空の列 SS があり、あなたは以下の操作を列の長さが MM になるまで行うことができます。

  • 操作前の列 SS の長さを ll とする。1kmin(Ml,N)1 \leq k \leq \min(M - l, N) を満たす整数 kk を選び、連続部分列 (A1,A2,,Ak)(A_1, A_2, …, A_k) を列 SS の末尾に追加する。
  • このとき、コストが k×Clk \times C_l だけかかる。

操作後に列 SS を列 BB に一致させることができるかどうかを判定し、できる場合は最小のコストを求めてください。


制約

  • 1N,M2×1051 \leq N, M \leq 2 \times 10^5
  • 1Ai1091 \leq A_i \leq 10^9
  • 1Bi1091 \leq B_i \leq 10^9
  • 1Ci1091 \leq C_i \leq 10^9
  • 入力はすべて整数である。

入力

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

NN MM
A1A_1 A2A_2 ... ANA_N 
B1B_1 B2B_2 ... BMB_M 
C0C_0 C1C_1 ... CM1C_{M - 1}  

出力

SS を列 BB に一致させるための最小のコストを一行に出力せよ。

一致させられない場合には 1-1 を出力せよ。

サンプル

サンプル1
入力
4 7
1 2 3 1
1 1 2 3 1 1 2
1 2 3 2 1 2 3
出力
12

例えば、以下の手順で操作を行うことが最適です。

  • (1)(1) を列 SS に追加する。1×1=11 \times 1 = 1 のコストがかかる。
  • (1,2,3)(1, 2, 3) を列 SS に追加する。3×2=63 \times 2 = 6 のコストがかかる。
  • (1)(1) を列 SS に追加する。1×1=11 \times 1 = 1 のコストがかかる。
  • (1,2)(1, 2) を列 SS に追加する。2×2=42 \times 2 = 4 のコストがかかる。
サンプル2
入力
3 4
1 3 2
1 3 1 2
1 1 1 1
出力
-1

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。