求此题,圆环选址,我超急的

问题遇到的现象和发生背景

圆环选址
内存限制: 256 Mb时间限制: 1000 ms
题目描述
给定一个长度为 nn 的环状数列 a_1,a_2,\cdots, a_na1​,a2​,⋯,an​,所谓环状,是指在考虑相邻关系时,需要把 a_1a1​ 和 a_nan​ 也看做是一对邻居。

每个数字各自表示一堆物资的数量。我们希望从 nn 个位置中挑选一个位置,使得所有物资能聚集到一起,而且运费总和达到最小。

物资只能沿着相邻位置搬运,每当一单位物资移动一单位距离时,需要花费一单位运费。请问如何选择一个聚集点,使得运费总和达到最小?

输入格式
第一行:单个整数表示 nn。
第二行:nn 个整数表示 a_1, a_2, \cdots, a_na1​,a2​,⋯,an​。

输出格式
单个整数:表示将所有物资移动到一起的最小总运费。

数据范围
对于 30%30% 的数据,1\leq n\leq 1001≤n≤100;
对于 60%60% 的数据,1\leq n\leq 20001≤n≤2000;
对于 100%100% 的数据,1\leq n\leq 500,0001≤n≤500,000,
0\leq a_i\leq 1,000,0000≤ai​≤1,000,000。
样例数据
输入:
5
1 2 3 4 5
输出:
14
说明:
选择4作为聚集点,运费计算公式为12+22+31+51=14
选择5作为聚集点,运费计算公式为11+22+32+41=15

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果