A4586 | 万圣糖果
来源官方 / 2024
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
在万圣夜,你收到了 $N$ 个糖果礼盒 $1, 2, \cdots, N$,从左到右排成一行,其中第 $i$ 个礼盒中有 $A_i$ 个糖果。
在打开礼盒之前,你最多可以使用一个神奇的魔法 $2$ 次;每次可以选择一个区间 $[L, R] \ (1 \le L \le R \le N)$,对该区间内的所有礼盒施法,使其中的糖果数量发生变化。
两次施法的区间 可以重叠,这意味着,有一些礼盒可能会被施法 $1$ 次,有一些礼盒可能会被施法 $2$ 次,还有一些礼盒则没有被施法。
被施法 $1$ 次的礼盒 $i$ 里的糖果数量会变为 $B_i$;被施法 $2$ 次的礼盒 $i$ 里的糖果数量会变为 $C_i$。
请你计算 $N$ 个糖果礼盒在经过最多两次施法后打开,最多可以收集多少糖果。
$\large{数据范围}$
- $1 \le N \le 2 \times 10^5$
- $1 \le A_i, B_i, C_i \le 10^9$
在打开礼盒之前,你最多可以使用一个神奇的魔法 $2$ 次;每次可以选择一个区间 $[L, R] \ (1 \le L \le R \le N)$,对该区间内的所有礼盒施法,使其中的糖果数量发生变化。
两次施法的区间 可以重叠,这意味着,有一些礼盒可能会被施法 $1$ 次,有一些礼盒可能会被施法 $2$ 次,还有一些礼盒则没有被施法。
被施法 $1$ 次的礼盒 $i$ 里的糖果数量会变为 $B_i$;被施法 $2$ 次的礼盒 $i$ 里的糖果数量会变为 $C_i$。
请你计算 $N$ 个糖果礼盒在经过最多两次施法后打开,最多可以收集多少糖果。
$\large{数据范围}$
- $1 \le N \le 2 \times 10^5$
- $1 \le A_i, B_i, C_i \le 10^9$
输入格式
对于每个输入文件,格式如下:
$\tt{N}$
$\tt{A_1\ A_2\ \cdots\ A_N}$
$\tt{B_1\ B_2\ \cdots\ B_N}$
$\tt{C_1\ C_2\ \cdots\ C_N}$
输出格式
在单独的一行中输出能够收集到的最多的糖果数量。
输入输出样例
输入 #1
7 3 2 3 3 2 1 3 2 3 1 2 6 7 1 1 1 5 4 1 5 2
输出 #1
31
输入 #2
7 5 2 3 8 2 1 3 2 3 5 2 6 7 1 1 1 1 4 1 5 2
输出 #2
37
输入 #3
1 10 21 39
输出 #3
39
$\bf{样例\ 1:}$
对区间 $[2, 4]$ 和 $[3, 6]$ 施法,可得糖果数量 $3 + 3 + 5 + 4 + 6 + 7 + 3 = 31$。

$\bf{样例\ 2:}$
对区间 $[2, 3]$ 和 $[5, 6]$ 施法,可得糖果数量 $5 + 3 + 5 + 8 + 6 + 7 + 3 = 37$。

$\bf{样例\ 3:}$
对第一个礼盒施法 $2$ 次,拿到 $39$ 颗糖果。
对区间 $[2, 4]$ 和 $[3, 6]$ 施法,可得糖果数量 $3 + 3 + 5 + 4 + 6 + 7 + 3 = 31$。

$\bf{样例\ 2:}$
对区间 $[2, 3]$ 和 $[5, 6]$ 施法,可得糖果数量 $5 + 3 + 5 + 8 + 6 + 7 + 3 = 37$。

$\bf{样例\ 3:}$
对第一个礼盒施法 $2$ 次,拿到 $39$ 颗糖果。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?