小柒的交替数组
题号:NC295043
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小柒最近获得了一个长度为 n 的整数数组 \{a_1,a_2,\dots,a_n\},小柒想从这个数组中获得一个长度 m子数组,满足其元素是奇偶交替的。换句话说,长度为 m 的数组 \{b_1,b_2,\dots,b_m\} 是奇偶交替的,当且仅当对于任意的 1\leq i <m,均有 (b_i\bmod 2) \neq (b_{i+1}\bmod 2)
\hspace{15pt}为此,小柒可以执行无限次以下操作:
\hspace{23pt}\bullet\,选择一个 i,使得 a_i 的值加一。
\hspace{15pt}请问小柒最少要执行多少次操作才可以从中获得一个长度为 m 的奇偶交替子数组。

【名词解释】
\hspace{15pt}子数组:从原数组中,连续的选择一段元素(可以全选)得到的新数组。

输入描述:

\hspace{15pt}第一行输入两个整数 n,m \left(1\leq n \leq 10^5;\ 1\leq m\leq n\right),表示数组中的元素个数、要得到的数组的长度。 
\hspace{15pt}第二行输入 n 个整数 a_1,a_2,\dots,a_n \left(1\leq a_i\leq n\right),表示数组中的元素。

输出描述:

\hspace{15pt}输出一个整数,表示小柒最少需要执行的操作次数。
示例1

输入

复制
6 4
1 2 3 4 5 6

输出

复制
0
示例2

输入

复制
6 4
1 1 1 1 1 1

输出

复制
2