3034: 斜率优化
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:4
解决:2
题目描述
小Y是个算法爱好者,这天他正在整理做过的题,发现在斜率优化的目录下有一道他没做出来的题。题目描述是这样的:
给定一个长度为n的数列ai,定义函数 f(i, j) = (i - j)2 + g2(i, j) (1 ≤ i, j ≤ n),函数g可以由下面的代码得出:
int g(int i, int j) {
int sum = 0;
for (int k = min(i, j) + 1; k <= max(i, j); k = k + 1)
sum = sum + a[k];
return sum;
}
请求出mini!=j f(i, j)。
你能帮助小Y解出这题吗?
输入
第一行一个整数 n,表示数列长度
第二行 n 个整数表示数列 ai。
输出
仅一行表示答案。
样例输入 复制
[Sample 1]
4
1 0 0 -1
[Sample 2]
2
1 -1
样例输出 复制
[Sample 1]
1
[Sample 2]
2
提示
20%的数据:n ≤ 100
50%的数据:n ≤ 1000
100%的数据:1 ≤ n ≤ 100000 ; |ai| ≤ 104