T469715 [2024迎新马拉松] 101

题目描述

给定长度 $N$ 的整数序列 $a_1, a_2, \ldots, a_N$,其中 $0 \le a_i \le 9$。你将对序列做若干次操作,每次可以: - 操作一,选择某个序列元素并将它增 $1$ 或减 $1$。特殊地,对 $9$ 增 $1$ 将得到 $0$;对 $0$ 减 $1$ 将得到 $9$。 - 操作二,移除序列的第一个元素。 - 操作三,移除序列的最后一个元素。 以上操作没有顺序要求。请计算至少需要多少次操作,才能将序列变为 $$\underbrace{1,1,\ldots,1}_{K个},\underbrace{0,0,\ldots,0}_{K个},\underbrace{1,1,\ldots,1}_{K个}$$ ——长度缩减至 $3K$,并且前 $K$ 个、后 $K$ 个元素都是 $1$,中间 $K$ 个都是 $0$。

输入格式

第一行包含两个整数 $N, K$。 第二行包含长度 $N$ 的整数序列 $a_1, a_2, \ldots, a_N$。

输出格式

一个整数,表示至少需要多少次操作。

说明/提示

【样例解释#$1$】 按顺序执行以下操作,可以得到序列 $1, 0, 1$: - 将此时的 $a_3$ 减 $1$,序列变为 $7, 1, 1, 9, 4$; - 将此时的 $a_1$ 移除,序列变为 $1, 1, 9, 4$; - 将此时的 $a_2$ 减 $1$,序列变为 $1, 0, 9, 4$; - 将此时的 $a_4$ 移除,序列变为 $1, 0, 9$; - 将此时的 $a_3$ 增 $1$,序列变为 $1, 0, 0$; - 将此时的 $a_3$ 增 $1$,序列变为 $1, 0, 1$。 没有比以上更优的操作方案,但最优操作方案并不唯一。 【样例解释#$2$】 无需任何操作就可以得到目标序列 $1, 1, 0, 0, 1, 1$。 【数据规模】 本题共有四个子任务,每个子任务捆绑计分: - 子任务一,占分 $30\%$,保证 $N = 3K$; - 子任务二,占分 $30\%$,保证 $N \le 10000$; - 子任务三,占分 $20\%$,保证 $0 \le a_i \le 1$; - 子任务四,占分 $20\%$,无特殊约定。 对于全部测试数据,保证 $1 \le 3K \le N \le 10^6$,$0 \le a_i \le 9$。