Codeforces - D. Single-use Stones

题目链接:D. Single-use Stones

真的很思维。

其实很简单,我们这样想,青蛙的移动距离是[0,l],那么每次青蛙移动我们都可以看作是l这么一段在移动(跳出l外面的我们已经不用管他了),真正影响是否能到河对面的是这l里是否有足够的落脚点,我们找到l里最少的落脚点即是ans.


AC代码:

#pragma GCC optimize(2)
#include<bits/stdc++.h>
//#define int long long
using namespace std;
const int N=1e5+10;
int w,l,a[N],res=0x3f3f3f3f;
signed main(){
	cin>>w>>l;
	for(int i=1;i<w;i++)	cin>>a[i],a[i]+=a[i-1];
	for(int i=l;i<w;i++)	res=min(res,a[i]-a[i-l]);
	cout<<res<<endl;
	return 0;
}
全部评论

相关推荐

孤寡孤寡的牛牛很热情:为什么我2本9硕投了很多,都是简历或者挂,难道那个恶心人的测评真的得认真做吗
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-27 10:48
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务