目录
题目:
经过几个月辛勤的工作,farmer决定让奶牛放假。假期可以在1…N天内任意选择一段(需要连续),每一天都有一个享受指数W。但是奶牛的要求非常苛刻,假期不能短于P天,否则奶牛不能得到足够的休息;假期也不能超过Q天,否则奶牛会玩的腻烦。farmer想知道奶牛们能获得的最大享受指数。
输入
第一行:N,P,Q.
第二行:N个数字,中间用一个空格隔开。
输出
一个整数,奶牛们能获得的最大享受指数。
样例输入
5 2 4 -9 -4 -3 8 -6
样例输出
5
代码
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int start,end;
cin>>start>>end;
int play_day=end-start;
int a[10005];
for(int i=0;i<n;i++){
cin>>a[i];
}
int maxn=-21432543;
for(int i=0;i<n-play_day+1;i++){
int sum=0;
for(int j=i;j<i+play_day;j++){
sum+=a[j];
}
if(sum>maxn){
maxn=sum;
}
}
cout<<maxn;
return 0;
}
显然,这样测试是不行的
因为此代码没有考虑很多!
那怎么做呢?