#P11303. [NOISG2021 Finals] Pond

[NOISG2021 Finals] Pond

题目背景

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

题目描述

今天,Syrup 像往常一样游泳时,发现了一簇绿点——正在萌发的藻类孢子。经过暴雨冲刷,富含营养的土壤流入池塘,为藻类提供了大量养分,导致它们以惊人的速度生长。如果不加以控制,这些藻类会遮挡阳光,破坏水下生态平衡。

幸运的是,Syrup 有一个简单有效的解决方案——吃掉它们。他已经识别出池塘中 NN 个土壤流失点,标号为 11NN,并记下了它们之间的距离 DiD_i(第 ii 点到第 i+1i+1 点之间的距离为 DiD_i)。目前,Syrup 位于第 KK 个点,并从这里开始消灭藻类。

池塘中的每个点初始有 00 条藻类,并且每秒会增加 11 条藻类,直到 Syrup 到达该点并吃掉所有藻类。Syrup 需要选择一个方向,沿着池塘游泳,并依次吃掉遇到的所有藻类。为了让藻类不至于变得太难吃,他希望尽可能减少吃下的藻类总数。

你的任务是计算 Syrup 吃下的最少藻类总数。

输入格式

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

输出格式

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

7 3
5 2 4 2 2 5
86
9 5
4 3 2 1 1 3 6 10
129
6 4
1 1 1 1 1
21

提示

【样例解释】

  • 对于样例 11,最优路径是按顺序访问点 32456713 \to 2 \to 4 \to 5 \to 6 \to 7 \to 1,总共吃掉 0+2+8+10+12+17+37=860 + 2 + 8 + 10 + 12 + 17 + 37 = 86 条藻类。
  • 对于样例 22,最优路径是按顺序访问点 5643217895 \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=1290 + 1 + 3 + 5 + 8 + 12 + 26 + 32 + 42 = 129 条藻类。
  • 对于样例 33,最优路径是按顺序访问点 4321564 \to 3 \to 2 \to 1 \to 5 \to 6,总共吃掉 0+1+2+3+7+8=210 + 1 + 2 + 3 + 7 + 8 = 21 条藻类。

【数据范围】

  • 2N3×1052 \leq N \leq 3 \times 10^5
  • 1KN1 \leq K \leq N
  • 1Di1061 \leq D_i \leq 10^6
子任务编号 分值 额外限制条件
11 77 N100N \leq 100
22 1111 N2000N \leq 2000
33 1010 1Kmin(N,20)1 \leq K \leq \min(N, 20)
44 66 Di=1D_i = 1
55 1212 1Kmin(N,2000)1 \leq K \leq \min(N, 2000)DiDi+1D_i \geq D_{i+1}(对所有 ii 满足 i≢0(mod100)i \not\equiv 0 \pmod{100}
66 2525 1Kmin(N,2000)1 \leq K \leq \min(N, 2000)
77 2929 无额外限制