Dotcpp  >  编程题库  >  蓝桥杯2024年第十五届省赛真题-回文数组
题目 3222:

蓝桥杯2024年第十五届省赛真题-回文数组

时间限制: 3s 内存限制: 512MB 提交: 1172 解决: 275

题目描述

小蓝在无聊时随机生成了一个长度为 n 的整数数组,数组中的第 i 个数为ai,他觉得随机生成的数组不太美观,想把它变成回文数组,也是就对于任意i ∈ [1, n] 满足 ai = an−i+1 。小蓝一次操作可以指定相邻的两个数,将它们一起加1 或减 1 ;也可以只指定一个数加 1 或减 1 ,请问他最少需要操作多少次能把这个数组变成回文数组?

输入格式

输入的第一行包含一个正整数 n 。

第二行包含 n 个整数 a1, a2, · · · , an ,相邻整数之间使用一个空格分隔。

输出格式

输出一行包含一个整数表示答案。

样例输入

4
1 2 3 4

样例输出

3

提示

【样例说明】

第一次操作将 a1, a2 加 1 ,变为 2, 3, 3, 4 ;后面两次操作将 a1 加 1 ,变为 4, 3, 3, 4 。

【评测用例规模与约定】

对于 20% 的评测用例,1 ≤ n ≤ 10;对于所有评测用例,1 ≤ n ≤ 105 ,−106 ≤ ai ≤ 106

标签