1264 蛋糕游戏 | OJ题库 | CODE STUDY
CODE STUDY
Programming Practice Platform

欢迎回来

1264

蛋糕游戏

Easy 时间限制 1000 ms 内存限制 262144 KB
前缀和 枚举 贪心

题目详情

返回题库

题目描述

来自USACO 2024 December Contest, Silver

Bessie 和 Elsie 发现了一行N个蛋糕($ 2 \leq N \leq 5 \times 10^5 $,N为偶数),大小依次为$ a_1,a_2, \dots , a_N $($ 1 \leq a_i \leq 10^9 $)。

两头奶牛都想吃到尽可能多的蛋糕。但是,作为非常文明的奶牛,她们决定玩一个游戏来分割蛋糕!游戏在两头奶牛之间轮流进行回合。每个回合进行以下两者之一:

  1. Bessie 选择两个相邻的蛋糕并将它们堆叠起来,制造大小为两者大小之和的一个新蛋糕。
  2. Elsie 选择最左边或最右边的蛋糕藏起来。

当只剩下一个蛋糕时,Bessie 吃掉它,而 Elsie 吃掉她藏起来的所有蛋糕。如果两头奶牛都采取最优策略以最大化她们吃到的蛋糕量,并且 Bessie 先进行回合,那么每头奶牛将会吃到多少蛋糕?

输入描述

每个测试点包含T($ 1 \leq T \leq 10 $)个独立的测试用例。输入保证一个测试点中的所有N之和不超过$ 10^6 $。

每个测试用例的格式如下。第一行包含N。下一行包含N个空格分隔的整数$ a_1,a_2, \dots , a_N $

数据范围:

  • 测试点 2:所有 $ a_i $ 相等。
  • 测试点 3:$ N \leq 10 $。
  • 测试点 4-7:$ N \leq 5000 $
  • 测试点 8-11:没有额外限制。

输出描述

对于每个测试用例,输出一行,包含b和e,表示 Bessie 和 Elsie 在两头奶牛都采取最优策略的情况下分别吃到的蛋糕量。

提示

对于第一个测试用例,在最优策略下,

  1. Bessie 将堆叠中间两个蛋糕。现在蛋糕的大小为[40,50,10]
  2. Elsie 将吃掉最左边的蛋糕。现在剩余的蛋糕的大小为[50,10]
  3. Bessie 堆叠剩余的两个蛋糕。

Bessie 将吃到30+20+10=60的蛋糕,而 Elsie 将吃到40的蛋糕。

第二个测试用例是第一个测试用例反转的情况,因此答案相同。

测试样例

样例支持多行内容展示
样例1
输入
2
4
40 30 20 10
4
10 20 30 40
输出
60 40
60 40
editor.py

提交前会先自动运行样例。只有样例全部通过,才会进入后端正式判题。