Description
你有n个正整数,从中选择连续的k个,它们的和即为你得到的分数,试求最大得分。
Input
第一行两个正整数n,k。
第二行n个正整数a[]。
Output
一个正整数,你能取得的最大的分数。
Sample Input
5 3
2 3 7 4 1
Sample Output
14
HINT
n不超过2000000,k不超过n,Σa[]不超过maxint。
#include<stdio.h>
int main(){
int n,k;
scanf("%d%d",&n,&k);
int sum=0,max=0;
int a[2000010]={0};
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(int i=0;i<k;i++){
sum+=a[i];
}
max=sum;
for(int i=k-1;i<n;i++){
if(sum+a[i+1]-a[i-k+1]>max){
max=sum+a[i+1]-a[i-k+1];
}
sum=sum+a[i+1]-a[i-k+1];
}
printf("%d",max);
return 0;
}