#P5858. 「SWTR-3」Golden Sword

    ID: 4779 Type: RemoteJudge 500ms 256MiB Tried: 4 Accepted: 2 Difficulty: 4 Uploaded By: Tags>动态规划dp单调队列O2优化

「SWTR-3」Golden Sword

题目背景

小 E 不幸在一场战斗中失去了他的金宝剑。

题目描述

制造一把金宝剑需要 nn 种原料,编号为 11nn,编号为 ii 的原料的坚固值为 aia_i

炼金是很讲究放入原料的顺序的,因此小 E 必须按照 11nn 的顺序依次将这些原料放入炼金锅。

但是,炼金锅的容量非常有限,它最多只能容纳 ww 个原料

所幸的是,每放入一个原料之前,小 E 可以从中取出一些原料,数量不能超过 ss 个。

  • 我们定义第 ii 种原料的耐久度为:放入第 ii 种原料时锅内的原料总数(包括正在放入的原料) × ai\times\ a_i,则宝剑的耐久度为所有原料的耐久度之和。

小 E 当然想让他的宝剑的耐久度尽可能得大,这样他就可以带着它进行更多的战斗,请求出耐久度的最大值。

注:这里的“放入第 ii 种原料时锅内的原料总数包括正在放入锅中的原料,详细信息请见样例。

输入格式

第一行,三个整数 n,w,sn,w,s

第二行,nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n

输出格式

一行一个整数,表示耐久度的最大值。

5 3 3
1 3 2 4 5
40
5 3 3
1 -3 -2 4 5
21
7 4 2
-5 3 -1 -4 7 -6 5
17
5 3 1
-1 -3 -2 -4 -5
-15

提示

「样例说明」

  • 对于样例 1,一种可行的最优方案为: 首先放进原料 1,此时锅内有 11 种原料,耐久度为 1×a1=1×1=11\times a_1=1\times 1=1
    再放进原料 2,此时锅内有 22 种原料,耐久度为 2×a2=2×3=62\times a_2=2\times 3=6
    再放进原料 3,此时锅内有 33 种原料,耐久度为 3×a3=3×2=63\times a_3=3\times 2=6
    取出原料 1,再放进原料 4,此时锅内有 33 种原料,耐久度为 3×a4=3×4=123\times a_4=3\times 4=12
    取出原料 4,再放进原料 5,此时锅内有 33 种原料,耐久度为 3×a5=3×5=153\times a_5=3\times 5=15
    最终答案为 1+6+6+12+15=401+6+6+12+15=40
  • 对于样例 2,一种可行的最优方案为:
    放进原料 1,耐久度为 1×1=11\times 1=1
    取出原料 1,放进原料 2,耐久度为 1×(3)=31\times (-3)=-3
    放进原料 3,耐久度为 2×(2)=42\times (-2)=-4
    放进原料 4,耐久度为 3×4=123\times 4=12
    取出原料 2,放进原料 5,耐久度为 3×5=153\times 5=15
    最终答案为 1+(3)+(4)+12+15=211+(-3)+(-4)+12+15=21
  • 对于样例 3,一种可行的最优方案为:
    a1+2a2+2a3+3a4+4a5+3a6+4a7=17a_1+2a_2+2a_3+3a_4+4a_5+3a_6+4a_7=17
  • 对于样例 4,一种可行的最优方案为:
    a1+a2+a3+a4+a5=15a_1+a_2+a_3+a_4+a_5=-15

「数据范围与约定」

本题使用捆绑测试。

  • Subtask #1(15 points):n10n\leq 10
  • Subtask #2(5 points):n100n\leq 100ai0a_i\geq0
  • Subtask #3(15 points):n300n\leq 300
  • Subtask #4(15 points):s=w=ns=w=n
  • Subtask #5(5 points):ai0a_i\geq 0
  • Subtask #6(10 points):n2×103n\leq 2\times 10^3
  • Subtask #7(10 points):s=1s=1
  • Subtask #8(25 points):无特殊限制。

对于 100%100\% 的数据,1swn5×1031 \leq s \leq w \leq n \leq 5\times 10^3ai109|a_i| \leq 10^9。对于 Subtask iiai10i+1|a_i|\leq 10^{i+1}

「帮助/说明」

本题下发大样例,具体输入输出见 Big Sample 中的 gold01-08.in/gold01-08.out。提取码:757d。
文件名与 Subtask 编号一一对应。

「来源」

Sweet Round 03 D
idea & solution:ET2006。