#3402. [GESP202312七级] 纸牌游戏
[GESP202312七级] 纸牌游戏
题目描述
你和小杨在玩一个纸牌游戏。你和小杨各有 张牌,分别是 。
你们要进行 轮游戏,每轮游戏双方都要出一张牌,并按 战胜 , 战胜 , 战胜 的规则决出胜负。第 轮的胜者可以获得 分,败者不得分,如果双方出牌相同,则算平局,二人都可获得 分()。
玩了一会后,你们觉得这样太过于单调,于是双方给自己制定了不同的新规则。小杨会在整局游戏开始前确定自己全部 轮的出牌,并将他的全部计划告诉你;而你从第 轮开始,要么继续出上一轮出的牌,要么记一次“换牌”。
游戏结束时,你换了 次牌,就要额外扣 分。
请计算出你最多能获得多少分。
输入格式
第一行一个整数 ,表示游戏轮数。 第二行 个用单个空格隔开的非负整数 ,意义见题目描述。 第三行 个用单个空格隔开的非负整数 ,表示换牌的罚分,具体含义见题目描述。由于游戏进行 轮,所以你至多可以换 次牌。 第四行 个用单个空格隔开的整数 ,依次表示小杨从第 轮至第 轮出的牌。保证 .
输出格式
一行一个整数,表示你最多获得的分数。
样例
4
1 2 10 100
1 100 1
1 1 2 0
219
6
3 7 2 8 9 4
1 3 9 27 81
0 1 2 1 2 0
56
提示
样例1解释
你可以第 轮出 ,并在第 轮保持不变,如此输掉第 轮,但在第 轮中取胜,获得 分;随后,你可以在第 轮中以扣 分为代价改出 ,并在第 轮中取得胜利,获得 分。如此,你可以获得最高的总分 。
数据范围
- 对于 的测试点,保证 。
- 对于 的测试点,保证 。
- 对于 测试点,保证 ;保证 。
来源
GESP 2023年12月 C++七级T2