测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A7030. [GESP202312 七级] 纸牌游戏

编程题 普及/提高-
知识点

题目描述

你和小杨在玩一个纸牌游戏。
你和小杨各有 $3$ 张牌,分别是 $0、1、2$。你们要进行 $N$ 轮游戏,每轮游戏双方都要出一张牌,并按 $1$ 战胜 $0$,$2$ 战胜 $1$,$0$ 战胜 $2$ 的规则决出胜负。第 $i$ 轮的胜者可以获得 $2a_i$ 分,败者不得分,如果双方出牌相同,则算平局,二人都可获得 $a_i$ 分 $(i=1,2,...,N)$。玩了一会后,你们觉得这样太过于单调,于是双方给自己制定了不同的新规则。小杨会在整局游戏开始前确定自己全部 $n$ 轮的出牌,并将他的全部计划告诉你:而你从第 $2$ 轮开始,要么继续出上一轮出的牌,要么记一次“换牌”。游戏结束时,你换了 $t$ 次牌,就要额外扣 $b1 + ... + bt$ 分。
请计算出你最多能获得多少分。

输入格式

第一行一个整数 $N$,表示游戏轮数。
第二行 $N$ 个用单个空格隔开的非负整数 $a_1,...,a_N$,意义见题目描述。
第三行 $N-1$ 个用单个空格隔开的非负整数 $b_1,...,b_{N-1}$,表示换牌的罚分,具体含义见题目描述。由于游戏进行 $N$ 轮,所以你至多可以换 $N-1$ 次牌。
第四行 $N$ 个用单个空格隔开的整数 $c_1,...,c_N$,依次表示小杨从第 $1$ 轮至第 $N$ 轮出的牌。保证 $c_i \in {0, 1, 2}$

输出格式

一行一个整数,表示你最多获得的分数。

输入输出样例

输入 #1
4
1 2 10 100
1 100 1
1 1 2 0
输出 #1
219
输入 #2
6
3 7 2 8 9 4
1 3 9 27 81
0 1 2 1 2 0
输出 #2
56

说明/提示

在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。

样例解释 $1$
你可以第 $1$ 轮出 $0$,并在第 $2,3$ 轮保持不变,如此输掉第 $1,2$ 轮,但在第 $3$ 轮中取胜,获得 $2 \times 10 = 20$ 分;随后,你可以在第 $4$ 轮中以扣 $1$ 分为代价改出 $1$ 并在第 $4$ 轮中取得胜利,获得 $2\ 100 = 200$ 分。如此,你可以获得最高的总分 $20 +200-1=219$

数据规模
对于 $30\%$ 的测试点,保证 $N ≤ 15$。
对于 $60\%$ 的测试点,保证 $N ≤ 100$。
对于所有测试点,保证 $N ≤ 1,000$; 保证 $0 ≤ a_i,bi_ ≤ 10^6$
上一题 去做题 下一题