题库练习 分段
← 上一题 下一题 →

A2863 | 分段

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

给定你n个数$a_1、a_2、a_3、...、a_n$,要求将它们分成若干连续的段。


要求:


1. 有m对给定的数不能被分到同一段。


2. 分出一个段的代价是$K + S \times (P - Q)$,其中K和S均为给定的常数,而P则是该段中所有数的最大值,Q是该段中所有数的最小值。


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

输入格式

第一行两个正整数n和m,表示数的个数和不能共存的m对数。


第二行两个非负整数K和S,含义见题面。


第三行n个非负整数,即给定的n个数。


接下来m行每行2个数$p_i$和$q_i$,表示$p_i$和$q_i$这两个编号的数不能共存。(编号从1开始)

输出格式

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

输入输出样例

输入 #1
5 2
3 1
2 3 12 14 16
2 3
3 1
输出 #1
11
C++ 编辑器
输入
输出