P5849 [IOI 2015] boxes

题目描述

IOI2015 开幕式正在进行最后一个环节。按计划在开幕式期间,每个代表队都将收到由主办方发放的一个装有纪念品的盒子。然而所有志愿者都被精彩的开幕式所吸引,除 Aman 外其他人完全忘记了发放纪念品这件事。Aman 是一位热情的志愿者,为使得 IOI 尽量圆满,他要用最短的时间将所有纪念品发放出去。 开幕式的场地是一个圆环,被分为 $L$个完全相等的区域,这些区域的编号依次为 $0$ 到 $L-1$,也就是说,对于$0\le i\le L-2$,区域 $i$ 与区域 $i+1$ 相邻,且区域 $L-1$ 与区域 $0$ 相邻。场地上共有 $N$ 个代表队,每队坐在上面的一个区域上,每个区域可以包含任意多个代表队,也可以为空。 一共有 $N$ 个相同的纪念品。开始,Aman 和所有纪念品都在区域 $0$。Aman 应该给每队一个纪念品,并且在发放完最后一个纪念品后他必须回到区域 $0$。注意,有些队可能坐在区域 $0$。 在任意时刻,Aman 只能够携带至多 $K$ 个纪念品。Aman 必须从区域 $0$ 取走这些纪念品,且取纪念品不需要时间。纪念品一旦从区域 $0$ 被取走后,Aman 只能将其发放给某个代表队或者随身携带。无论何时,Aman 携带一个或更多的纪念品到达一个这样的区域,该区域有一个代表队尚未收到纪念品,Aman 便可将他携带的一个纪念品发给这个代表队。这种发放也在瞬间完成。他所花的时间都消耗在区域之间的移动上。无论携带多少纪念品,Aman 都需要 $1$ 秒钟从一个区域移动到其相邻的区域(可以顺时针移动也可以逆时针移动)。 你的任务是计算出 Aman 发放完所有纪念品并返回到他的最初区域所需要的最短时间(秒数)。

输入格式

- 第 $1$ 行有三个整数 $N$,$K$,$L$,分别表示 代表队的数目,Aman 每次最多能携带的纪念品数量 ,开幕式场地上的区域数目; - 第 $2$ 行有 $N$ 个整数,分别为 $p[0],\cdots,p[N−1]$,其中 $p[i]$ ($0\le i\le N-1$)代表第 $i$ 支代表队所在区域编号。$p$ 的元素按非递减排序。

输出格式

共一行,Aman 所需要的最短时间(秒数)。

说明/提示

对于 $100\%$ 的数据,$1\le N\le 10^7$,$1\le K\le N$,$1\le L\le 10^9$。