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