CSP/信奥赛C++刷题训练:经典前缀和例题(1):洛谷P6625:卡牌游戏

CSP/信奥赛C++刷题训练:经典前缀和例题(1)

[省选联考 2020 B 卷] 卡牌游戏

在这里插入图片描述

题目描述

轩轩某天想到了一个卡牌游戏,游戏规则如下:

  1. 初始时轩轩的手中有自左向右排成一排的 n n n 张卡牌,每张卡牌上有一个整数分值。
  2. 接下来,轩轩每次可以选取卡牌序列最左边的连续若干张卡牌(至少 2 2 2 张),将它们替换为一张新卡牌。新卡牌将插入到序列的最左端,它的分值为本次操作中被替换掉的卡牌的分值之和。
  3. 初始时轩轩总分为 0 0 0,每执行一次卡牌替换操作,新卡牌的分值将加到总分中。当序列长度为 1 1 1 时游戏结束,轩轩也可以在任意时刻结束游戏。

现在给出序列中各个卡牌的分值,请你来帮助轩轩计算他能够获得的最高总分是多少?

输入格式

第一行一个正整数 n n n,代表卡牌的数目。

接下来一行 n n n 个以空格分隔的整数,第 i i i 个数字 a i a_i ai 代表自左向右第 i i i 张卡牌的分值。

输出格式

仅一行一个整数表示答案。

样例 #1

样例输入 #1

3
2 -1 2

样例输出 #1

4

样例 #2

样例输入 #2

7
-4 3 0 7 -3 -5 -3

样例输出 #2

9

提示

样例解释 1

最优策略为,首先选择最左侧的两张卡牌,总分增加 2 + ( − 1 ) = 1 2 + (-1) = 1 2+

猜你喜欢

转载自blog.csdn.net/weixin_66461496/article/details/143279861