Single-use Stones(思维题)

35 篇文章 0 订阅

 题目链接:http://codeforces.com/problemset/problem/965/D

题意:

w表示河的宽度,l表示青蛙所能跳的最远的距离,第二行的w-1个元素表示离河岸为i的地方有a[i]个石头,一

个石头被踩两次,问最多有多少只青蛙可以跳到河对岸

题解:

 因为最多能跳过几只青蛙,是由落脚点的数目的最小值决定的,所以他的问题实际上就是在[i,i+l],i∈[l,w-1],

最少的石头数目是多少

参考博客:https://www.cnblogs.com/visualVK/p/8994154.html

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+10;
const int inf=0x3f3f3f3f;
int a[maxn],sum[maxn];
int main()
{
    int W,L;
    int ans=inf;
    scanf("%d%d",&W,&L);
    for(int i=1;i<W;i++){
        scanf("%d",&a[i]);
        sum[i]=sum[i-1]+a[i];
    }
    for(int i=L;i<W;i++){
        ans=min(ans,sum[i]-sum[i-L]);
    }
    printf("%d\n",ans);
    return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值