[Usaco2005 jan]Naptime 午睡时间
贝茜是一只非常缺觉的奶牛。她的一天被平均划分为 个首尾相接、循环排列的时间段。她必须从中选择恰好 个时间段睡觉,这些时间段不必连续。
每个时间段 都有一个固定的睡眠效用值 。如果贝茜在该时间段内已经入睡,就能获得相应的效用。借助闹钟,她可以自由选择在哪些时间段睡觉,但只能在时间段的边界处入睡或醒来。
每当贝茜开始一段新的连续睡眠时,该睡眠段的第一个时间段会用于入睡,因此不能获得这个时间段的效用。由于一天中的时间段首尾循环相连,如果贝茜在时间段 和时间段 都睡觉,那么它们属于同一段连续睡眠,时间段 不会被视为新的入睡阶段。
请计算贝茜能够获得的最大睡眠效用总和。
输入格式
第一行包含两个以空格分隔的整数 和 ,分别表示一天中的时间段数量和贝茜必须用于睡觉的时间段数量。
接下来 行,第 行包含一个整数 ,表示时间段 的睡眠效用值。
输出格式
输出一个整数,表示贝茜能够获得的最大睡眠效用总和。
样例输入
5 3
2
0
3
1
4
样例输出
6
样例解释
选择时间段 、、 睡觉。时间段 是这段连续睡眠的入睡阶段,不计效用。由于时间段首尾循环相连,时间段 和时间段 分别贡献 和 的效用,因此总效用为 。
数据范围
- ;
- ;
- 。
来源与许可
本题为 USACO 2005 January 试题「Naptime 午睡时间」,题面与测试数据整理自 BZOJ。
样例 1
输入
5 3
2
0
3
1
4
输出
6