Dotcpp  >  编程题库  >  蓝桥杯2025年第十六届省赛真题-数组翻转
题目 3316:

蓝桥杯2025年第十六届省赛真题-数组翻转

时间限制: 3s 内存限制: 512MB 提交: 93 解决: 21

题目描述

小明生成了一个长度为 n 的正整数数组 a1, a2, . . . , an,他可以选择连续的一 段数 al , al+1, ..., ar,如果其中所有数都相等即 al = al+1 = ... = ar,那么他可以获 得 (r − l + 1) × al 的分数。 

在选择之前,为了让分数尽可能大,他决定先选择数组中的一段区间,对 其进行左右翻转。他想知道在对数组进行翻转之后他能获得的最大分数是多少? 

提示:当翻转 al 到 ar 这段区间后,整个数组会变为 a1, a2, . . . , al−1, ar , ar−1, . . . , al+1, al , ar+1, . . . , an

输入格式

输入共两行。

第一行为一个正整数 n。

第二行为 n 个由空格分开的正整数 a1, a2, . . . , an

输出格式

输出共 1 行,一个整数表示答案。

样例输入

7
4 4 3 3 2 1 3

样例输出

9

提示

【样例说明】 

翻转区间 [5, 7],数组变为 4, 4, 3, 3, 3, 1, 2,最大分数为选择三个 3。 

【评测用例规模与约定】 

对于 20% 的评测用例,n ≤ 500。 

对于 100% 的评测用例,n ≤ 106,ai ≤ 106

标签
#include<stdio.h>
int main()
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

通过率

统 计

 提交 93
 正确 21
 格式错误 0
 答案错误 22
 时间超限 28
 内存超限 0
 输出超限 0
 运行错误 9
 编译错误 13