本文主要是介绍C++ 语言 爱与愁的心痛,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
# 爱与愁的心痛
## 题目背景
(本道题目隐藏了两首歌名,找找看哪~~~)
《爱与愁的故事第一弹·heartache》第一章。
《我为歌狂》当中伍思凯神曲《舞月光》居然没赢给萨顶顶,爱与愁大神心痛啊~~~而且最近还有一些令人伤心的事情,都让人心痛(最近真的很烦哈)……
## 题目描述
最近有 $n$ 个不爽的事,每句话都有一个正整数刺痛值(心理承受力极差)。爱与愁大神想知道连续 $m$ 个刺痛值的和的最小值是多少,但是由于业务繁忙,爱与愁大神只好请你编个程序告诉他。
## 输入格式
第一行有两个用空格隔开的整数,分别代表 $n$ 和 $m$。
第 $2$ 到第 $(n + 1)$ 行,每行一个整数,第 $(i + 1)$ 行的整数 $a_i$ 代表第 $i$ 件事的刺痛值 $a_i$。
## 输出格式
输出一行一个整数,表示连续 $m$ 个刺痛值的和的最小值是多少。
## 样例 #1
### 样例输入 #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 \times 10^3$,$1 \leq a_i \leq 100$。
#include<iostream>
using namespace std;
#define MAX 3000+5
int a[MAX];
int b[MAX];
int main() {int n, m;cin >> n >> m;int min_ = 0;for (int i = 0; i < n; i++) { //录入数据cin >> a[i];min_ += a[i];}if (m != n) //如果m与n一直,就是所有元素的和for (int i = 0; i < n - m; i++) { //一共几组数for (int j = 0; j < m; j++) //这个循环求第几组的和b[i] += a[i + j];min_ = min(min_, b[i]);}printf("%d\n", min_);return 0;
}
这篇关于C++ 语言 爱与愁的心痛的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!