题目链接:
因为青蛙最多跳 \(l\) 的距离,我们设 \(l\) 为一个区间,那么每个区间青蛙最多能跳过的只数,就是这个区间内石头的个数。(只要有一个区间青蛙没跳过去,那么整段就过不去了)因此青蛙能跳过去的最多只数就是所有区间长度为 \(l\) 的石头块数的最小值(确保无论踩在哪都能过河)
#include <bits/stdc++.h>
using namespace std;
using i64 = long long;
void solve() {
int w, l;
cin >> w >> l;
vector<int> a(w);
for (int i = 1; i < w; i++) {
cin >> a[i];
a[i] += a[i - 1];
}
int ans = 0x3f3f3f3f;
for (int i = l; i < w; i++) ans = min(ans, a[i] - a[i - l]);
cout << ans << "\n";
}
int main()
{
ios::sync_with_stdio(false), cin.tie(nullptr);
int t = 1;
//cin >> t;
while (t--) solve();
return 0;
}
标签:Stones,CF965D,int,青蛙,Single,ans,区间,using
From: https://www.cnblogs.com/pangyou3s/p/18191829