【每周例题】蓝桥杯 C++ 区间最大和
区间最大和
题目

题目分析
这道题涉及到了区间问题,我们首先要了解规定的该区间范围:1<p且p+k 一1 <n,我们将其转化:1<p<n-k+1,当我们得到这个区间的时候,需要求该区间的最大和可以用双重for循环搞定。
代码
#include <iostream>
using namespace std;
int main()
{
long int n,k,q;
cin>>n>>k;
int a[100000];
for(int i=0;i<n;i++) //输入数组
{
cin>>a[i];
}
q=n-k+1; //求出区间最大值
long int sum=0,maxsum=0;
for(int i=1;i<=q;i++) //区间最大和的最小值
{
sum=0;
for(int p=i;p<=(i+k-1);p++) //求区间之和
{
sum+=a[p];
}
if(maxsum<=sum) //求最大和
{
maxsum=sum;
}
}
cout<<maxsum;
return 0;
}

浙公网安备 33010602011771号