2652: 编译优化
内存限制:256 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:2
解决:1
题目描述
众所周知,衡量一个编译器是否优秀的标准,除了它的编译速度和正确性以外,编译出的代码的质量也很重要。最近,作为XCC系列编译器作者的Dr. X发明了一种跨时代的优化算法:“NanGe不等式优化”。一个程序可以看成是由若干个连续的函数构成的,NanGe不等式算法能针对某一个函数进行优化,得到一个优化效果值, 不同的函数的效果值可能是不同的。但这个算法还有一个很大的Bug:
该算法不能同时优化相邻的两个函数,否则就会直接Compile Error,值得注意的是,一个程序的第一个函数和最后一个函数也算是相邻的。
现在给你一个程序从头到尾每个函数的优化效果值,Dr. X想用NanGe不等式对该程序的M个函数进行优化,他该怎么选择才能使总的优化效果值最大(前提是不能出现错误)?如果错误不能避免,请输出“Error!”
输入
第一行包含两个正整数n、m。
第二行为n个整数Ai。
输出
一个整数,表示最后对该程序进行优化后的最大效果值。如果无解输出“Error!”,不包含引号。
样例输入 复制
7 3
1 2 3 4 5 6 7
样例输出 复制
15
提示
compile.in |
compile.out |
7 4 1 2 3 4 5 6 7 |
Error! |
对于全部数据:m<=n;-1000<=Ai<=1000
N的大小对于不同数据有所不同:
数据编号 |
N的大小 |
数据编号 |
N的大小 |
1 |
40 |
11 |
2013 |
2 |
45 |
12 |
5000 |
3 |
50 |
13 |
10000 |
4 |
55 |
14 |
49999 |
5 |
200 |
15 |
111111 |
6 |
200 |
16 |
148888 |
7 |
1000 |
17 |
188888 |
8 |
2010 |
18 |
199999 |
9 |
2011 |
19 |
199999 |
10 |
2012 |
20 |
200000 |