虽然简单但小心易错啊,注意数组别溢出了
最近有 nn 个不爽的事,每句话都有一个正整数刺痛值(心理承受力极差)。爱与愁大神想知道连续 mm 个刺痛值的和的最小值是多少,但是由于业务繁忙,爱与愁大神只好请你编个程序告诉他。
输入格式
第一行有两个用空格隔开的整数,分别代表 nn 和 mm。
第 22 到第 (n+1)(n+1) 行,每行一个整数,第 (i+1)(i+1) 行的整数 aiai 代表第 ii 件事的刺痛值 aiai。
#include<iostream>
using namespace std;
int main(void){
int n,m;
cin>>n>>m;
int arr[n];
for(int i=0;i<n;i++){
cin>>arr[i];
}
int min=100000000;
for(int i=0;i<n-m+1;i++){//这里是n-m+1注意,编译失败就是因为数组溢出了
int sum=0;
for(int q=i;q<i+m;q++){
sum+=arr[q];
}
if(sum<min) min=sum;
}
cout<<min;
return 0;
}