P1614 爱与愁的心痛
[P1614 爱与愁的心痛](https://www.luogu.com.cn/problem/P1614?contestId=150480
P1614 爱与愁的心痛
题意
最近有 n 个不爽的事,每句话都有一个正整数刺痛值(心理承受力极差)。想知道连续 m 个刺痛值的和的最小值是多少。
输出一行一个整数,表示连续 m 个刺痛值的和的最小值是多少。
思路
- 一定要用for循环。
- 一定要用数组。
- 赋值,交换。
坑点
- 第一个for循环里面,i的条件要想清楚。
算法一:双层for循环:
时间复杂度
- 输出大小: 1.83200645446777 MiB
- 编译时间: 0.77s
实现步骤
- 根据题意,要用long long int定义数与数组,输入。
- 自加
- 和赋给最小值,sum自加。
代码
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{long long int n,m;cin>>n>>m;long long int a[110000];int min=1e10,sum=0;for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<=n-m+1;i++){for(int j=1;j<=m;j++){sum+=a[i+j-1];}if(sum<min){min=sum;}sum=0;}cout<<min;return 0;
}
总结
难到没什么,就是脑子要转过弯来。