P5800 [SEERC 2019] Life Transfer
题目背景
*注:「feli」是当地货币单位。*
题目描述
在大都市 Nekoresti 中,有 $n$ 个人已知年龄,第 $i$ 个人年龄为 $a_i$。现在他们享受着假期,所以他们决定去 Pisiev 游览一个著名的博物馆 Koshkseum。他们可以通过开车或骑摩托车去:
- 一辆**车**可以载最多 $k$ 个人(包括一个年龄不低于 $l_c$ 岁的司机和至多 $k-1$ 个乘客)。一辆车的租金为 $p_c$ feli。
- 一辆**摩托车**只能载 $1$ 个人(年龄不低于 $l_m$ 岁)。一辆摩托车的租金为 $p_m$ feli。
不幸的是,这些人不是很富裕,所以他们请求一名当地的大魔法师 Mewlin 来帮助他们。通过使用一种强大的魔法 Mucadabra,Mewlin 可以转移人们的年龄。形式化地说,他可以减少一个年龄为 $x$ 的人的年龄,同时增加一个年龄为 $y$ 的人的年龄同一数值(这两个人的年龄之和不变)。完成 $1$ 岁的年龄的转移的花费是 $t$ feli。由于魔法的限制,魔法不能将一个人的年龄改变超过 $d$(如果一个人的年龄为 $x$,改变后的年龄只能在 $[x-d, x+d]$ 区间内)。并且,年龄也不能低于 $1$ 岁。
帮助这些人花费最少的钱从 Nekoresti 到 Pisiev 去旅游吧。
输入格式
第一行包含两个整数 $n$ 和 $k \ (1 \leq n, k \leq 10^5)$,代表旅游的人数和一辆车的最大载客数。
第二行包含四个整数 $l_c, p_c, l_m$ 和 $p_m \ (1 \leq l_m < l_c \leq 10^5, 1 \leq p_m < p_c \leq 10^5)$,代表开车的最低年龄、一辆车的租金、骑摩托车的最低年龄、一辆摩托车的租金。
第三行包含两个整数 $t$ 和 $d \ (0 \leq t, d \leq 10^5)$,代表转移 $1$ 岁的年龄的花费和魔法的转移改变量限制。
第四行包含 $n$ 个整数 $a_1, a_2, \dots, a_n \ (1 \leq a_i \leq 10^5)$,$a_i$ 代表第 $i$ 个人的年龄。
输出格式
输出一个数字,即让所有人到达目的地的最小花费。如果无解,输出 $-1$。