无限的韵律源点
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

两个少女前往探索一个支离破碎的世界。那里伴随着一个声音:一段尘封的过往即将被揭开...

她们从这个除了废墟一无所有的世界中醒来,却丝毫不记得这里曾发生过的一切。这一刻她们才发现,自己也不过是虚无的存在。

而接下来,她们会发现一个名叫Arcaea的物体。它由空中漂浮着玻璃质感般的碎片所积聚而成,而这每一块碎片,都包含着来自过去的鲜活回忆。
Arcaea(韵律源点)是一款著名的音乐游戏(以下简称 arc)。在 arc 中,玩家评分 (PTT) 是 total best 和 recent best 两部分分数维护的所有曲目的单曲评分平均值。

recent best 部分维护的,是你当前时刻下最近游玩的前 ra 首曲目 (包含当前时刻下游玩的曲目)中单曲得分最高的前 rb 首曲目;total best 部分维护的,是你当前时刻下所有已经游玩过的曲目中单曲得分最高的前 b 首曲目。你需要计算在你的游玩过程中,recent best 部分维护的曲目得分之和与 total best 部分维护的曲目得分之和的总和最大值。

形式化地说,给定一个正整数序列 a_i(1 \leq i \leq n),设 R_i 表示 a_{\max(1,i-ra+1)},\cdots,a_i 中最大的 \min(i,rb) 个数之和,设 T_i 表示 a_1,\cdots,a_i 中最大的  \min(i,b) 个数之和。对于 1\leq i \leq n,求 R_i + T_i 的最大值。 

输入描述:

第一行输入四个整数 n,b,ra,rb(1\leq rb\leq ra \leq n \leq 2 \times 10^5,1\leq b\leq n \leq 2\times 10^5)。分别代表您游玩了 n 首曲目;在计算 total best 部分时,取历史单曲评分最高的 b 首曲目;在计算 recent best 部分时,取历史最近 ra 首曲目中单曲评分最高的 rb 首。

第二行输入 n 个整数 a_i(0\le a_i\le 10^9),代表了您在 n 个时刻内游玩曲目获得的单曲评分 ,输入的顺序就代表了您游玩的顺序。

输出描述:

输出一行一个整数,表示所求的总和最大值。
示例1

输入

复制
5 2 3 2
1 6 2 3 3

输出

复制
18

说明

total 表示已经游玩过曲目的序列;用 recent 表示已经游玩过的曲目中,历史最近 ra 首曲目的序列。

时刻 [0,5] 的 total 与 recent 部分维护过程如下:

t=0,你还没有游玩过曲目,此时 total=[],recent=[],此刻计算得出的 PTT0

t=1,你游玩了第一首曲目,获得的单曲得分为 1,此时 total=[(1)],recent=[(1)],此时的最大总和为 2

t=2,你游玩了第二首曲目,获得的单曲得分为 6,此时 total=[(1),(6)],recent=[(1),(6)]此时的最大总和为 14

t=3,你游玩了第三首曲目,获得的单曲得分为 2,此时 total=[1,(6),(2)],recent=[1,(6),(2)]此时的最大总和为 16

t=4,你游玩了第四首曲目,获得的单曲得分为 3,此时total=[1,(6),2,(3)],recent=[(6),2,(3)]此时的最大总和为 18

t=5,你游玩了第五首曲目,获得的单曲得分为 3,此时 total=[1,(6),2,(3),3],recent=[2,(3),(3)]此时的最大总和为 15

由此可知,在时刻 4 计算出的最大总和最大,为 18