luogu#P5800. [SEERC2019] Life Transfer

[SEERC2019] Life Transfer

题目背景

注:「feli」是当地货币单位。

题目描述

在大都市 Nekoresti 中,有 nn 个人已知年龄,第 ii 个人年龄为 aia_i。现在他们享受着假期,所以他们决定去 Pisiev 游览一个著名的博物馆 Koshkseum。他们可以通过开车或骑摩托车去:

  • 一辆可以载 kk 个人(包括一个年龄不低于 lcl_c 岁的司机和 k1k-1 个乘客)。一辆车的租金为 pcp_c feli。
  • 一辆摩托车只能载 11 个人(年龄不低于 lml_m 岁)。一辆摩托车的租金为 pmp_m feli。

不幸的是,这些人不是很富裕,所以他们请求一名当地的大魔法师 Mewlin 来帮助他们。通过使用一种强大的魔法 Mucadabra,Mewlin 可以转移人们的年龄。形式化地说,他可以减少一个年龄为 xx 的人的年龄,同时增加一个年龄为 yy 的人的年龄同一数值(这两个人的年龄之和不变)。完成 11 岁的年龄的转移的花费是 tt feli。由于魔法的限制,魔法不能将一个人的年龄改变超过 dd(如果一个人的年龄为 xx,改变后的年龄只能在 [xd,x+d][x-d, x+d] 区间内)。并且,年龄也不能低于 11 岁。

帮助这些人花费最少的钱从 Nekoresti 到 Pisiev 去旅游吧。

输入格式

第一行包含两个整数 nnk (1n,k105)k \ (1 \leq n, k \leq 10^5),代表旅游的人数和一辆车的最大载客数。

第二行包含四个整数 lc,pc,lml_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)$,代表开车的最低年龄、一辆车的租金、骑摩托车的最低年龄、一辆摩托车的租金。

第三行包含两个整数 ttd (0t,d105)d \ (0 \leq t, d \leq 10^5),代表转移 11 岁的年龄的花费和魔法的转移改变量限制。

第四行包含 nn 个整数 a1,a2,,an (1ai105)a_1, a_2, \dots, a_n \ (1 \leq a_i \leq 10^5)aia_i 代表第 ii 个人的年龄。

输出格式

输出一个数字,即让所有人到达目的地的最小花费。如果无解,输出 1-1

2 2
18 1000 16 1
5 3
16 15
1010
2 2
23 10 15 5
2 2
9 20
-1