洛谷——P1614 爱与愁的心痛

题目背景

(本道题目隐藏了两首歌名,找找看哪~~~)

《爱与愁的故事第一弹·heartache》第一章

《我为歌狂》当中伍思凯神曲《舞月光》居然没赢给萨顶顶,爱与愁大神心痛啊~~~而且最近还有一些令人伤心的事情,都让人心痛(最近真的很烦哈)……

题目描述

最近有n(n<=3000)个不爽的事,每句话都有一个正整数刺痛值(心理承受力极差)。爱与愁大神想知道连续m(m<=n)个刺痛值的最小值是多少,但是由于业务繁忙,爱与愁大神只好请你编个程序告诉他。

输入输出格式

输入格式:

 

第1行:两个数 n,m。

第2行~第2+n-1行:每行一个数,表示ai的刺痛值。

 

输出格式:

 

只有一个整数,表示连续m个刺痛值的最小值是多少。

 

输入输出样例

输入样例#1:
8 3
1
4
7
3
1
2
4
3
输出样例#1:
6

说明

30%数据:n<=20

60%数据:n<=100

90%数据:n<=1000

100%数据:n<=3000,m<=n,ai<=100

 

 

代码:数据很水,代码很low,但是A了

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
#define maxn 99999999
int n,m,a[3001]={0},sum,ans=maxn;
int main()
{
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
       scanf("%d",&a[i]);
    for(int i=1;i<=n-m+1;i++)
    {
        sum=0;
        for(int j=i;j<m+i;j++)
        {
            sum+=a[j];
        }
        if(sum<ans)
          ans=sum;
    }
    printf("%d",ans);
    return 0;
}

 

 

 

注意:

在进行累加的时候一定要注意

1.第一个循环一直循环到m-n+1,其实也可以循环到m,但浪费时间,没什么意义

2.第二个循环一定要循环到m+i-1!!!      

   eg:从3~7,相减出来时应是4,但:3,4,5,6,7是5个数,所以要减1

转载于:https://www.cnblogs.com/z360/p/6710753.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值