#P2248. 分段

分段

题目描述

给你 nn 个数 a1ana_1 \sim a_n,要求将它们分成若干连续的段,其中有 mm 对给定的数不能被分到同一段。

分出一个段的代价是:

K+S×(PQ)K + S \times (P - Q)

其中 KKSS 均为给定的常数,PP 是该段中所有数的最大值,QQ 是该段中所有数的最小值。

你需要求出每段代价之和最小的分段方案。

输入格式

第一行两个正整数 n,mn,m

第二行两个非负整数 K,SK,S

第三行 nn 个非负整数 a1ana_1 \sim a_n

下面 mm 行,每行 22 个正整数 pi,qip_i,q_i,表示 api,aqia_{p_i},a_{q_i} 不能共存。

输出格式

输出仅一行,表示最小的每段代价之和。

5 2
3 1
2 3 12 14 16
2 3
3 1
11

提示

对于 10%10\% 的数据,n10n \leq 10

对于 30%30\% 的数据,n1500n \leq 1500

对于另外 10%10\% 的数据,S=0S = 0

对于另外 30%30\% 的数据,m=0m = 0

对于 100%100\% 的数据,1m,n1051 \le m,n \le 10^50K,S,ai1050 \le K,S,a_i \le 10^51pi,qin1 \le p_i,q_i \le npiqip_i \ne q_i