d164: 七、最佳选择

http://zerojudge.tw/ShowProblem?problemid=d164

內容 :

Z先生的奶牛在环形围廊上排成一圈,将每头牛身上盖上一个0到255之间的整数,表示这头牛的“品质数”,数字越大,品质越好。Z先生为显示他的智慧,对卖主定下一条古怪的约定:买主只能从围廊上连续选出他所需的M头奶牛。作为精明的买主,你当然希望选出的这M头奶牛的“品质数”总和最大。

如:排成一圈的5头奶牛的样例, 10、3、9、7、1

现在你需要买2头奶牛。显然选择标号为7和9的两头奶牛“品质数”总和最大,为16,是你的最佳的选择。

輸入說明 :

每组测试数据的第一行是两个数N(1<=N<=10000)和M(1<=M<=5000),N表示围廊中奶牛的数目,而M表示你打算购买的奶牛的数目,两个数之间用空格隔开。

一下的N行,每行有一个0到255的整数,按顺时针或逆时针顺序给出每头奶牛的“品质数”。需要注意的是,第一头奶牛与最后一头奶牛在位置上是相邻的。

輸出說明 :

对于每个输入,请输出一行,即你选出的连续的M头奶牛的最大“品质数”总和。

範例輸入 :

5 2

10

3

9

7

1

範例輸出 :

16

提示 :

出處 :

科技冬令营信息学(计算机)奥林匹克竞赛样题 (管理:liouzhou_101)

參考程式碼