805. 糖

提交0 通过0
通过率0%
时间限制1000ms
内存限制256MiB
    ID: 805 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 提高+/省选- 上传者: 标签>简单动态规划复杂动态规划编程题c++

题目描述

数轴上有 nn 颗糖,第 ii 颗糖在坐标 2i2i 处,且有一个美味度 aia_i ,保证所有糖果的美味度均不相同。

梦梦和熊熊准备玩一个轮流取一颗糖果的游戏。游戏开始时,熊熊会选择 1,3,⋯ ,2n+11,3,\cdots,2n+1 中的一个位置作为初始位置。

梦梦先取糖果,他可以任意取走数轴上还在的任何一颗糖果。

熊熊行动时,它会从离它两边最近的至多两颗糖果中,选择美味度更大的一颗。

当最后没有糖果可取后,游戏结束。对熊熊的每个开始位置 1,3,⋯ ,2n+11,3,\cdots,2n+1 ,求出梦梦可以获得的糖果的美味度之和的最大值。

输入格式

第一行给定正整数 nn。

第二行给出长度为 nn 的序列 aa。

输出格式

输出 nn 行,每行 11 个整数,表示答案。

7
4 3 1 2 1000 2000 3000
6004
6004
6004
6001
5007
4007
4007
4007
1
1
1
1
2
1 999998
999998
999998
999998

说明与提示

样例解释

以初始位置为 11 为例,梦梦先选择 44,熊熊取 33,梦梦选 10001000,熊熊选 33,梦梦选 20002000,熊熊选 11,梦梦选30003000,熊熊选 22。

数据范围

对于 30%30\% 的数据,1≤n≤201 \leq n \leq 20。

对于 100%100\% 的数据,1≤n≤400,1≤ai≤1061 \leq n \leq 400,1 \leq a_i \leq 10^6