洛谷-P1614 爱与愁的心痛

洛谷-P1614 爱与愁的心痛

原题链接:https://www.luogu.com.cn/problem/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 \times 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;
}
posted @ 2020-07-22 09:31  yuzec  阅读(554)  评论(0编辑  收藏  举报