#MX2049. T1 能量传输 ( divide )

T1 能量传输 ( divide )

Problem Description

在一座高科技城市中,Luke 负责管理城市中的能量传输系统。城市中有一排能量节点,每个节点上储存了少量的能量,表示为 0 或 1 单位。

由于城市计划升级,所有节点中的能量都需要调整,使得每个节点的能量都能整除一个特定的数 kk(其中 k>1k > 1)。Luke 可以通过操作将能量从一个节点传输到相邻的节点,但每次只能移动 1 单位的能量。

现在,Luke 的目标是以最少的操作次数完成这个任务,确保所有节点的能量都满足被 kk 整除的要求。你能帮助他计算出所需的最小操作次数吗?

Input Format

一个整数 nn 表示能量节点的数量。

接下来一行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n ,表示每个节点中初始的能量数量。

Output Format

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

5
1 0 1 0 1
4
10
1 0 1 0 1 0 0 1 0 1
14

Hint

数据范围

对于 60%60\% 的数据,1≤n≤101 \le n \le 10

对于 100%100\% 的数据,1≤n≤1051 \le n \le 10^5,0≤ai≤10 \le a_i \le 1