题库/G7022

#G7022. [GESP202606 七级] 消消乐

    传统题 难度: 普及+ 标签>GESPGESP七级区间动态规划最后操作边界状态
时间限制1000 ms
内存限制512 MiB
通过率—0 / 0 次提交
题目描述 查看题解 开始编程Alt+E

G7022 · [GESP202606 七级] 消消乐

退出在线编程模式
普及+ 读懂题意,让每一次思考成为成长。
时间限制1000 ms
内存限制512 MiB
通过率—0 / 0 次提交

给定一个由 nn 个整数构成的数组 a=[a1,…,an]a = [a_1, \ldots, a_n]。每次你可以对数组 aa 进行以下操作,直到数组 aa 变为空:

  • 指定 aa 中的一个元素,获得该元素两侧相邻元素之和的分数,并将该元素从 aa 中删去。

特别地,如果相邻元素不存在则该元素的值视为 00。例如,对于 a=[1,2,3]a = [1, 2, 3] 可以进行以下操作:

  • 指定元素 22,获得分数 1+31 + 3,删去 22 后 a=[1,3]a = [1, 3];
  • 指定元素 11,获得分数 0+30 + 3,删去 11 后 a=[3]a = [3];
  • 指定元素 33,获得分数 0+00 + 0,删去 33 后 aa 变为空。

请问你能获得的分数总和最大是多少?

输入格式

第一行,一个正整数 nn,表示数组长度。

第二行,nn 个非负整数 a1,…,ana_1, \ldots, a_n,表示数组 aa 中的整数。

输出格式

输出一行,一个整数,表示能获得的最大分数总和。

6
1 6 3 2 9 1
55
5
3 1415 926 53 58
5771

说明与数据范围

数据范围

对于 40%40\% 的测试点,保证 1≤n≤501 \le n \le 50,0≤ai≤1030 \le a_i \le 10^3。

对于所有测试点,保证 1≤n≤1001 \le n \le 100,0≤ai≤1090 \le a_i \le 10^9。

来源与评测数据

GESP C++ 7级,2026年06月第2题。

本题含14个自行生成的测试点,非官方原版测试数据;每题总分100分。

题目信息

#798
—

暂无提交记录

练习难度 普及+
时间限制
1000ms
内存限制
512MiB
上传者