爱与愁的心痛
题目背景
(本道题目隐藏了两首歌名,找找看哪~~~)
《爱与愁的故事第一弹·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
提交程序
import java.util.Arrays;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int[] a = new int[n];
for (int i = 0;i < n;i++) {
a[i] = sc.nextInt();
}
//累加当前所有刺痛值作为最小值
int min = 0;
for (int i = 0;i < n;i++) {
min += a[i];
}
//当n为8时,m为3时,每一次累加3位数的和需要8-3+1次,即n-m+1次
for (int i = 0;i < n - m + 1;i++) {
int sum = 0;
//根据m为3时,每次累加三位数,一个循环进一位i
for (int j = i;j < i + m;j++) {
sum += a[j];
}
if (sum < min) {
min = sum;
}
}
System.out.println(min);
}
}
标签:洛谷,min,int,sum,心痛,++,刺痛,sc,P1614
From: https://www.cnblogs.com/chongchongstyle/p/16920808.html