2088: 序列游戏

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

    给定一个整数数列Q,小学刚毕业的GyNsk将分别对这个数列进行一次操作。

    首先,Gy将这个数列的一个前缀(长度可以为0)的每一个数乘上-A

    然后,Nsk将这个数列的一个后缀(长度可以为0)的每一个数乘上-B

    S为操作后,这个数列所有元素的和。

    Gy要使S尽可能大,Nsk要使S尽可能小。

    现在,Chnlich找到了你。他想要知道双方都不失误的情况下,最终S的值是多少。

输入

    第一行三个数N,A,BN表示数列Q的长度,AB如上所述。

    接下来N行,每行一个数,第i+1行的数表示这个数列的第i个数Qi

输出

    一行,表示最终S的值。

样例输入 复制

3 1 1
-1 -2 -3

样例输出 复制

0

提示

样例解释

    Gy操作前0个数,则Nsk操作后0个数,最终序列为-1 -2 -3,答案为-6

    Gy操作前1个数,则Nsk操作后0个数,最终序列为1 -2 -3,答案为-4

    Gy操作前2个数,则Nsk操作后0个数或3个数,最终序列为-1 -2 31 2 -3,答案为0

    Gy操作3个数,则Nsk操作3个数,最终序列为-1 -2 -3,答案为-6

    综上所述,S=max(-6,-4,0,-6)=0

 

数据范围

测试点编号

N的范围

AB的范围

Qi的范围

0~1

N<=10

1<=A,B<=3

abs(Qi)<=20

2~3

N<=200

1<=A,B<=20

abs(Qi)<=1000

4~7

N<=5000

1<=A,B<=50

abs(Qi)<=1000000000

8~13

N<=100000

1<=A,B<=100

abs(Qi)<=1000000000

14~19

N<=1000000

1<=A,B<=30

abs(Qi)<=1000000000