简单动态规划
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

给你一个长为 n 的序列,你可以做 任意次 如下操作:


- 交换两个元素的位置,此操作不需要花费任何金额。
- 选择一个下标 i ,使得 a_i=a_i±2 ,此操作花费 1 元。
- 选择一个下标 i ,使得 a_i=a_i±1 ,此操作花费 100 元。


你所需要完成的任务是,进行若干次操作后(或者不操作),使得序列满足以下性质:


- 对于 \forall i \in (1,n] ,有 a_i=a_{i-1}+2

请你计算可使序列满足以上性质的最小花费。

输入描述:

第一行输入一个正整数 n (1\le n\le 10^5) ,表示序列的长度。

第二行输入 n 个正整数,第 i 个数 a_i (1\le a_i \le 10^9) 表示序列中第 i 个元素。

输出描述:

输出一个整数,表示满足要求的最小的花费。
示例1

输入

复制
5
1 7 5 3 9

输出

复制
0
示例2

输入

复制
3
2 3 6

输出

复制
100
示例3

输入

复制
4
2 2 3 3

输出

复制
202