CF965D Single-use Stones

题目链接:

因为青蛙最多跳 \(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;
}
posted @ 2024-05-14 17:37  胖柚の工作室  阅读(18)  评论(0)    收藏  举报