|
问题描述:
为了提高程序解题能力,勤奋努力的QQ天天锯题到深夜,导致睡眠严重不足,可NOIP决赛就要来临了,必须要有良好的状态才行啊,因此QQ决定准备拿出一天时间,好好补补觉。
他把这一天等分成了n个时间段,在每个时间段睡觉能获得精神点数不尽相同,在第i段时间能获得V[i]的精神点数。
由于勤奋的QQ觉得整天都睡太堕落了,他决定最多只能睡m个时间段。至于其他的时间吗...那自然是勤奋地锯题...
有两点事情要特别提出注意:
1.QQ不可能一上床马上睡着,他在连续一段睡觉时间的第一个时间段不能获得此时的V。也就是说如果他在i...j中的所有时间都休息了,获得的精神点数为V[i+1]+...+V[j]。
2.所有的时间段呈环形分布,也就是说第n个时间段之后为第1个时间段。
要求的自然是QQ最多能获得的精神点数之和。
输入格式:
第一行两个正整数n,m,意义如题所述
接下来n行,每行一个非负整数V[i]
输出格式:
一行,表示QQ最多能获得的精神点数之和
输入样例:
5 3
2
0
3
1
4
输出样例:
6
样例解释:
选择4、5、1三个时间段休息,在5、1时睡着,最大值为4+2=6
数据范围:
对于20%的数据n<=20
对于50%的数据n<=200
对于100%的数据n<=5000,m<=n,V[i]<=10000GMT+8, 2024-5-19 16:06 , Processed in 0.015257 second(s), 7 queries , Gzip On, Redis On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.