luogu#P10412. 「QFOI R2」钟声远带斜阳

    ID: 14367 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>贪心洛谷原创O2优化前缀和差分洛谷月赛

「QFOI R2」钟声远带斜阳

题目描述

注意:本题中的所有数列下标从 00 开始。

小 R 是一个可爱的女孩子,她喜欢研究无穷数列。

她称一个无穷数列 bb 是美妙的,当且仅当存在自然数 k0k_0,使得对于所有 kk0k\ge k_0,都满足 bb 中下标在区间 [k0,k][k_0,k] 内的所有数的和非负(即 i=k0kbi0\sum_{i=k_0}^kb_i\ge 0)。例如,数列 αi=i5\alpha_i=i-5 是美妙的,取 k0=5k_0=5 符合要求;但 βi=i\beta_i=-i 不是美妙的。

她目前只有一个长度为 nn 的有穷数列 aa,可以进行任意次以下三种操作:

  1. 花费 pp 的代价,选择一个整数 ii0i<n0\le i < n),将 aia_i 增加一。
  2. 花费 qq 的代价,选择一个整数 ii0i<n0\le i < n),将 aia_i 删除,同时更新 nn 为新的数列长度。不能将数列删空。
  3. 花费 rr 的代价,选择两个整数 i,ji,j0i<j<n0\le i < j < n),交换 aia_iaja_j

她希望在若干次操作后,用无限个有穷数列 aa 依次相接得到无穷数列 bb(即 bi=aimodnb_i=a_{i\bmod n}),使得 bb 是美妙的。请你求出最小的代价。

输入格式

第一行四个整数 n,p,q,rn,p,q,r

第二行 nn 个整数,表示数列 aa

输出格式

一行,一个整数,表示最小代价。

5 1 2 5
2 -2 3 -3 -1
1
5 2 1 5
2 -2 3 -3 -1
1
5 1 1 1
0 1 2 3 4
0

提示

样例 11 解释

花费 p=1p=1 的代价将 a3a_3 增加一,得到数列 b=[2,2,3,2,1,2,2,3,2,1,]b=[2,-2,3,-2,-1,2,-2,3,-2,-1,\cdots] 是美妙的,取 k0=2k_0=2 符合要求。

可以证明不存在代价更小的方案。


样例 22 解释

花费 q=1q=1 的代价将 a1a_1 删除,得到数列 b=[2,3,3,1,2,3,3,1,]b=[2,3,-3,-1,2,3,-3,-1,\cdots] 是美妙的,取 k0=0k_0=0 符合要求。

可以证明不存在代价更小的方案。


数据范围

本题采用捆绑测试。只有通过子任务中所有测试点以及所有依赖的子任务,才能获得相应的分数。

对于全部数据:1n1051\le n\le 10^51p,q,r1091\le p,q,r\le 10^9ai109|a_i|\le 10^9

  • 子任务一(1010 分):n=1n=1
  • 子任务二(1010 分):n10n\le 10。依赖子任务一。
  • 子任务三(2020 分):ai1|a_i|\le 1
  • 子任务四(2020 分):ai105\sum|a_i|\le 10^5。依赖子任务三。
  • 子任务五(4040 分):无特殊限制。依赖子任务一、二、三、四。