描述
看着这么多哥哥姐姐们设计了好玩的机器人,果果也在爸爸的帮助下开始设计一款属于自己的机器人。
他也想控制机器人去抓取货物得到更高的分数。
不过果果的机器人还是有点笨笨的,它只能从某个位置开始,按照顺序一个不漏地抓取连续若干个(可以是0个),而且最多只能抓取固定的数量,现在果果就想知道,他所设计的机器人最高能得到多少分值。
输入
输入数据的第一行为两个正整数n和m,表示场景中有n个货物,果果的机器人最多能装m个货物。
第二行为n个数,表示按照顺序给定的n个货物的分值,这些货物中有些为负数,表示会扣分。
1<=n, m <=100。
输出
输出一个整数,表示机器人最多能得的分值。
为了得到最高分值,机器人不一定装满,甚至一个也不抓。
样例输入
6 3
3 5 2 -1 12 -2
样例输出
13
分析:
热手题。
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int ans=0;
int n,m;
cin>>n>>m;
int p[101];
for (int i=0;i<n;i++)
cin>>p[i];
for (int i=0;i<n;i++)
{
int d=0;
int r;
if (i+m<n) r=i+m;else r=n;
for (int j=i;j<r;j++)
{
d+=p[j];
if (d>ans) ans=d;
}
//cout<<d<<' ';
}
cout<<ans<<endl;
return 0;
}