P11303 [NOISG 2021 Finals] Pond

题目背景

乌龟 Syrup 经常在他家旁边的池塘里游泳。这个池塘是由很久以前的冰川运动形成的,呈狭长直线状,水面平静,适合双向游泳。

题目描述

今天,Syrup 像往常一样游泳时,发现了一簇绿点——正在萌发的藻类孢子。经过暴雨冲刷,富含营养的土壤流入池塘,为藻类提供了大量养分,导致它们以惊人的速度生长。如果不加以控制,这些藻类会遮挡阳光,破坏水下生态平衡。 幸运的是,Syrup 有一个简单有效的解决方案——吃掉它们。他已经识别出池塘中 $N$ 个土壤流失点,标号为 $1$ 到 $N$,并记下了它们之间的距离 $D_i$(第 $i$ 点到第 $i+1$ 点之间的距离为 $D_i$)。目前,Syrup 位于第 $K$ 个点,并从这里开始消灭藻类。 池塘中的每个点初始有 $0$ 条藻类,并且每秒会增加 $1$ 条藻类,直到 Syrup 到达该点并吃掉所有藻类。Syrup 需要选择一个方向,沿着池塘游泳,并依次吃掉遇到的所有藻类。为了让藻类不至于变得太难吃,他希望尽可能减少吃下的藻类总数。 你的任务是计算 Syrup 吃下的最少藻类总数。

输入格式

- 第一行包含两个整数 $N$ 和 $K$,分别表示池塘中的土壤流失点数量和 Syrup 的起始位置。 - 第二行包含 $N-1$ 个整数 $D_1, D_2, \dots, D_{N-1}$,表示相邻流失点之间的距离。

输出格式

输出一个整数,表示 Syrup 吃下的最少藻类总数。

说明/提示

【样例解释】 - 对于样例 $1$,最优路径是按顺序访问点 $3 \to 2 \to 4 \to 5 \to 6 \to 7 \to 1$,总共吃掉 $0 + 2 + 8 + 10 + 12 + 17 + 37 = 86$ 条藻类。 - 对于样例 $2$,最优路径是按顺序访问点 $5 \to 6 \to 4 \to 3 \to 2 \to 1 \to 7 \to 8 \to 9$,总共吃掉 $0 + 1 + 3 + 5 + 8 + 12 + 26 + 32 + 42 = 129$ 条藻类。 - 对于样例 $3$,最优路径是按顺序访问点 $4 \to 3 \to 2 \to 1 \to 5 \to 6$,总共吃掉 $0 + 1 + 2 + 3 + 7 + 8 = 21$ 条藻类。 【数据范围】 - $2 \leq N \leq 3 \times 10^5$ - $1 \leq K \leq N$ - $1 \leq D_i \leq 10^6$ | 子任务编号 | 分值 | 额外限制条件 | | :--------: | :--: | :-------------------------------: | | $1$ | $7$ | $N \leq 100$ | | $2$ | $11$ | $N \leq 2000$ | | $3$ | $10$ | $1 \leq K \leq \min(N, 20)$ | | $4$ | $6$ | $D_i = 1$ | | $5$ | $12$ | $1 \leq K \leq \min(N, 2000)$ 且 $D_i \geq D_{i+1}$(对所有 $i$ 满足 $i \not\equiv 0 \pmod{100}$) | | $6$ | $25$ | $1 \leq K \leq \min(N, 2000)$ | | $7$ | $29$ | 无额外限制 |