题目描述
最近有 n 个不爽的事,每句话都有一个正整数刺痛值(心理承受力极差)。爱与愁大神想知道连续 m 个刺痛值的和的最小值是多少,但是由于业务繁忙,爱与愁大神只好请你编个程序告诉他。
输入格式
第一行有两个用空格隔开的整数,分别代表 n 和 m。
第 2 到第 (n + 1) 行,每行一个整数,第(i+1)行的整数ai代表第 i 件事的刺痛值ai 。
输出格式
输出一行一个整数,表示连续 m个刺痛值的和的最小值是多少。
输入输出样例
输入 #1
8 3
1
4
7
3
1
2
4
3
输出 #1
6
数据规模与约定
对于 100% 的数据,保证0≤m≤n≤3×10^3,1≤ai≤100。
答案
#include<stdio.h>
int i,j;
int main(){
int n,m;
scanf("%d",&n);
scanf("%d",&m);
int a[3005];
for (i=0;i<n;i++){
scanf("%d",&a[i]);
}
int min=0;
for (i=0;i<m;i++){
min+=a[i];
}
int sum=0;
for (i=1;i<n-m;i++,sum=0){
for(j=i;j<i+m;j++){
sum+=a[j];
}
if (sum<min){
min=sum;
}
}
printf("%d",min);
return 0;
}