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;
}