Problem
Flatland大学的一系列讲座专门研究序列。
教授称一个整数序列
\(a_1, a_2, ..., a_n\) 如果除了
\(a_1\) 和
\(a_n\),等于相邻的和:
\(a_2 = a_1 + a_3, a_3=a_2+a_4, ..., a_{n-1}=a_{n-2}+a_n\)。例如,序列 [1,2,1,–1] 是调和的,因为 2=1+1,并且 1=2+(–1)。
考虑等长序列:
\(A=[a_1,a_2, ... a_n]\) 和
\(B=[b_1,b_2, ... b_n]\)。这些序列之间的距离将称为值
\(d(A,B)= |a_1-b_1|+|a_2-b_2|+...+|a_n-b_n |\) 跨度> 。例如, \(d([1,2,1,–1][1,2,0,0])=|1–1|+|2–2 | ++|1–0|+|–1–0|=0+0+1+1=2 \)
讲座结束时,教授在黑板上写下了一个n个整数的序列\(B=[b_1,b_2, ... b_n]\)并提问学生找到和谐序列 \(A=[a_1,a_2, ... a_n]\) 这样 \( d( A, B)\) 是最小的。为了让他自己更容易检查,教授要求你只写下所需的最小距离作为答案 \(d(A,B)\) .
要求编写一个程序,给定一个序列 B,确定在距序列 B 的最小距离处存在调和序列 A。
输入
输入文件的第一行包含整数 n –序列中元素的数量(\(3 \le n \le 500\))。
第二行包含n个整数 \(b_1, b_2, …, b_n (–100 \le b_i \le 100 )\) .
印记
输出文件必须包含一个整数:从输入文件中的序列到谐波序列的最小可能距离。
例子
<头>
# |
输入 |
输出 |
东西>
<正文>
1 |
4
1 2 0 0
| 2 |
表>