题目描述
题目描述
作为转生的小氪,你需设计由$N$ 个魔法节点构成的魔法回路系统。每个节点$i$拥有固定魔力值$\text{magic}[i] $,激活节点可获取其魔力值,但需遵守以下核心规则:
- 不相邻激活规则:激活的节点不能相邻(即无法同时激活节点$i$与节点$i+1$;
- 强制激活约束:标记为$\text{locked}[i] = 1$的节点必须被激活,标记为$\text{locked}[i] = 0$ 的节点可自主选择是否激活(题目保证初始输入中所有$\text{locked}[i] = 1$的节点互不相邻,无需额外判断此条件)。
请计算激活一组节点(满足所有规则)后能获得的最大魔力值总和。
输入格式
- 第一行:一个整数$N$($1 \leq N \leq 10^5$),表示魔法节点的总数量。
- 第二行:$N$ 个整数,表示每个节点的魔力值 $\text{magic}[i]$
- 第三行:$N$ 个 0 或 1,表示每个节点是否必须激活(1 表示必须激活,0 表示可选)
输出格式
输出一行整数:最大魔力值总和
样例输入输出
样例输入 1
5
1 2 3 4 5
0 0 0 0 0
样例输出 1
9
数据范围
| 变量/参数 | 范围 | 约束条件 | |----------------|-------------------------------|--------------------------------------------------------------------------| | $N$ | $1 \leq N \leq 10^5$ | 魔法节点的总数量 | | $\text{magic}[i]$ | $-1000 \leq \text{magic}[i] \leq 1000$ | 单个节点的魔力值 | |$\text{locked}[i]$ | ${0, 1}$ | 1 表示节点必须激活,0 表示节点可选;题目保证初始输入中所有 1 对应的节点不相邻 |
来源/分类