IOI2015 开幕式正在进行最后一个环节。按计划,在开幕式期间,每个代表队都将收到由主办方发放的一个装有纪念品的盒子。然而所有志愿者都被精彩的开幕式所吸引,除 Aman 以外其他人完全忘记了发放纪念品这件事。Aman 是一位热情的志愿者,为使得 IOI 尽量圆满,他要用最短的时间将所有纪念品发放出去。
开幕式的场地是一个被划分成
一共有
Aman 可以花费
你的任务是:计算 Aman 从区域
样例
在这个样例中,代表队的数目
上图是最优解之一。
第一步:Aman 在起点拿走
第二步:Aman 在起点拿走
于是总用时是
任务
你需要实现函数 delivery,对于给定的
- delivery(N, K, L, positions)
- N:代表队的数目
- K:Aman每次最多能携带的纪念品数量。
- L:开幕式场地上的区域数目。
- positions:一个长度为 N 的数组,positions[0],positions[1]...positions[N-1]给出了所有代表队所在的区域的编号,positions的元素按非递减排序。
- 该函数应当返回 Aman 所需要的最短时间(秒数)。
子任务
子任务 | 分值 | |||
---|---|---|---|---|
1 | 10 | |||
2 | 10 | |||
3 | 15 | |||
4 | 15 | |||
5 | 20 | |||
6 | 30 |
实现细节
本题只支持 C/C++。
你只能提交一个源文件实现如上所述的 delivery 函数,并且遵循下面的命名和接口。你需要包含头文件 boxes.h。
long long delivery(int N, int K, int L, int positions[]);
评测方式
评测系统将读入如下格式的输入数据:
- 第
行: - 第
行:
评测系统将调用
时间限制:
空间限制: