洛谷-P1614 爱与愁的心痛
题目背景
(本道题目隐藏了两首歌名,找找看哪~~~)
《爱与愁的故事第一弹·heartache》第一章。
《我为歌狂》当中伍思凯神曲《舞月光》居然没赢给萨顶顶,爱与愁大神心痛啊~~~而且最近还有一些令人伤心的事情,都让人心痛(最近真的很烦哈)……
题目描述
最近有 (n) 个不爽的事,每句话都有一个正整数刺痛值(心理承受力极差)。爱与愁大神想知道连续 (m) 个刺痛值的和的最小值是多少,但是由于业务繁忙,爱与愁大神只好请你编个程序告诉他。
输入格式
第一行有两个用空格隔开的整数,分别代表 (n) 和 (m)。
第 (2) 到第 ((n + 1)) 行,每行一个整数,第 ((i + 1)) 行的整数 (a_i) 代表第 (i) 件事的刺痛值 (a_i)。
输出格式
输出一行一个整数,表示连续 (m) 个刺痛值的和的最小值是多少。
输入输出样例
输入 #1
8 3
1
4
7
3
1
2
4
3
输出 #1
6
说明/提示
数据规模与约定
- 对于 (30\%) 的数据,保证 (n leq 20)。
- 对于 (60\%) 的数据,保证 (n leq 100)。
- 对于 (90\%) 的数据,保证 (n leq 10^3)。
- 对于 (100\%) 的数据,保证 (0 leq m leq n leq 3 imes 10^3),(1 leq a_i leq 100)。
C++代码
#include <iostream>
using namespace std;
int main() {
int n, m, ans=300000;
cin >> n >> m;
int a[n];
for (int i=0; i<n; ++i)
cin >> a[i];
for (int i=0; i<=n-m; ++i) {
int sum = 0;
for (int j=0; j<m; ++j)
sum += a[i+j];
if (sum < ans)
ans = sum;
}
cout << ans << endl;
return 0;
}