#ys0039. 便利店的货架

便利店的货架

题目描述:

便利店老板有一排编号从 1 到 M 的货架格子(排成一条直线),现在有 N 个热销商品需要摆上货架,每个商品都要放在不同的格子里(商品 i 固定放在编号为 Xᵢ 的格子)。 为了防止商品落灰,老板需要购买防尘罩来覆盖这些放了商品的格子。 • 一个防尘罩可以覆盖从格子 L 到格子 R 的连续区域,它的 "尺寸" 定义为 R - L + 1(即覆盖的格子总数)。 • 尺寸为 W 的防尘罩,售价是 C_W 元。注意:大尺寸的防尘罩不一定比小尺寸的贵(比如尺寸 5 的罩子可能比尺寸 4 的更便宜)。 老板希望用最少的钱买一套防尘罩,把所有放了商品的格子都覆盖到(防尘罩可以重叠覆盖)。请你帮老板计算出最低需要花费多少钱。

输入格式:

第一行输入两个整数 N 和 M,分别表示商品数量和货架总格子数。 接下来 N 行,每行输入一个整数 Xᵢ,表示第 i 个商品所在的货架格子编号。 接下来 M 行,第 i 行输入一个整数 Cᵢ,表示尺寸为 i 的防尘罩的售价。

输出格式:

输出一个整数,表示覆盖所有商品格子所需的最低花费。

样例:

6 12
1
2
11
8
4
12
2
3
4
4
8
9
15
16
17
18
19
19

9

提示

1≤N≤5000,1≤M≤10^5,1≤Xi≤M,1≤Ci≤10^6