A7325 | 午枫的涂色游戏
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
小午、小枫在玩一个涂色游戏。游戏中有 $n$ 个格子排成一行,从左到右依次编号为 $1,2,\dots,n$。每个格子 $i$ 初始时有一个颜色价值 $c_i$。
小午和小枫各有一种特殊的颜料:
- 小午的颜料每份价值为 $x$。他可以选择一个整数 $l$($0 \le l \le N$),如果 $l \ge 1$,那么他会把前 $l$ 个格子(即格子 $1,2,\dots,l$)涂上自己的颜料,使这些格子的颜色价值都变成 $x$。
- 小枫的颜料每份价值为 $y$。她可以选择一个整数 $r$($0 \le r \le N$),如果 $r \ge 1$,那么她会把后 $r$ 个格子(即格子 $n,n-1,\dots,n-r+1$)涂上自己的颜料,使这些格子的颜色价值都变成 $y$。
注意:小午先涂色,小枫后涂色。因此,如果某个格子既被小午涂色又被小枫涂色,小枫的颜料会覆盖小午的颜料,该格子的最终颜色价值为 $y$。
小午和小枫要计算计算所有格子的颜色价值总和。他想知道,在小午和小枫采取最优策略的情况下,这个总和最小可以是多少?
小午和小枫各有一种特殊的颜料:
- 小午的颜料每份价值为 $x$。他可以选择一个整数 $l$($0 \le l \le N$),如果 $l \ge 1$,那么他会把前 $l$ 个格子(即格子 $1,2,\dots,l$)涂上自己的颜料,使这些格子的颜色价值都变成 $x$。
- 小枫的颜料每份价值为 $y$。她可以选择一个整数 $r$($0 \le r \le N$),如果 $r \ge 1$,那么她会把后 $r$ 个格子(即格子 $n,n-1,\dots,n-r+1$)涂上自己的颜料,使这些格子的颜色价值都变成 $y$。
注意:小午先涂色,小枫后涂色。因此,如果某个格子既被小午涂色又被小枫涂色,小枫的颜料会覆盖小午的颜料,该格子的最终颜色价值为 $y$。
小午和小枫要计算计算所有格子的颜色价值总和。他想知道,在小午和小枫采取最优策略的情况下,这个总和最小可以是多少?
输入格式
输入共两行。
第一行包含三个整数 $n, x, y$,分别表示格子的数量、小午颜料的价值和小枫颜料的价值。
第二行包含 $n$ 个整数 $c_1, c_2, \dots, c_n$,表示每个格子的初始颜色价值。
第一行包含三个整数 $n, x, y$,分别表示格子的数量、小午颜料的价值和小枫颜料的价值。
第二行包含 $n$ 个整数 $c_1, c_2, \dots, c_n$,表示每个格子的初始颜色价值。
输出格式
输出一个整数,表示所有格子的颜色价值总和的最小可能值。
输入输出样例
输入 #1
5 4 3 5 5 0 6 3
输出 #1
14
输入 #2
4 10 10 1 2 3 4
输出 #2
10
输入 #3
10 -5 -3 9 -6 10 -1 2 10 -1 7 -15 5
输出 #3
-58
样例 #1 解释
小午选择 $l=2$,小枫选择 $r=2$。涂色后,格子颜色价值依次为 $4,4,0,3,3$,总和为 $14$。可以证明这是能够得到的最小总和。
样例 #2 解释
小午选择 $l=0$(即不涂色),小枫选择 $r=0$(即不涂色),总和为 $10$。注意 $x=y=10$,即使涂色也不会使总和变小。
样例 #3 解释
$x,y,c_i$ 可能是负数。最优方案下总和可以达到 $-58$。
数据范围
对于 $100\%$ 的测试数据,满足:$1 \le n \le 2 \times 10^5, -10^9 \le x, y \le 10^9, -10^9 \le c_i \le 10^9$,输入中的所有数均为整数。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?