4378: A. 能量传输 (divide.c/cpp/pas)

内存限制:512 MB 时间限制:2.000 S
评测方式:文本比较 命题人:
提交:4 解决:1

题目描述

## Problem A. 能量传输 (divide.c/cpp/pas) 在一座高科技城市中,Luke 负责管理城市中的能量传输系统。城市中有一排能量节点,每个节点上储存了少量的能量,表示为 0 或 1 单位。 由于城市计划升级,所有节点中的能量都需要调整,使得每个节点的能量都能整除一个特定的数 $k$(其中 $k > 1$)。Luke 可以通过操作将能量从一个节点传输到相邻的节点,但每次只能移动 1 单位的能量。 现在,Luke 的目标是以最少的操作次数完成这个任务,确保所有节点的能量都满足被 $k$ 整除的要求。你能帮助他计算出所需的最小操作次数吗?

输入

### Input 一个整数 $n$ 表示能量节点的数量。 接下来一行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$ ,表示每个节点中初始的能量数量。

输出

### Output 输出一个整数,表示完成目标所需的最小操作次数。

样例输入 复制

5
1 0 1 0 1

样例输出 复制

4

提示

### Examples #### 【样例 1 输入】 ```input 5 1 0 1 0 1 ``` #### 【样例 1 输出】 ```output 4 ``` #### 样例解释 1 最优解为将 $a_1$ 的能量移到 $a_2$ 再移到 $a_3$。 将 $a_5$ 的能量移到 $a_4$ 再移到 $a_3$。 得到 $0,0,4,0,0$,均为 $4$ 的倍数。 #### 【样例 2 输入】 ```input 10 1 0 1 0 1 0 0 1 0 1 ``` #### 【样例 2 输出】 ```output 14 ``` #### 【样例 3 输入】 见下发文件。 #### 【样例 3 输出】 见下发文件。 ### Notes 对于 $60\%$ 的数据,$1 \le n \le 10$ 对于 $100\%$ 的数据,$1 \le n \le 10^5$,$0 \le a_i \le 1$