题目链接: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;
}