8分 求助?
查看原帖
8分 求助?
937774
LoyalSoldier楼主2024/5/10 23:55
#include <bits/stdc++.h>
using namespace std;
long long n, k, a[1000005], ans, maxi, shijian;
int main(){
	cin >> n >> k;
	for(int i = 1; i < n; ++i){
		cin >> a[i];
		ans += a[i];//直接算总时间 
	}
	if(k > 0){
		for(int i = 1; i <= n-k/*优化*/; ++i){
			if(i == 1){
				for(int j = i; j < i+k; ++j)//一开始直接传送
					shijian += a[j];
			}else{
				shijian -= a[i-1];
				shijian += a[i+k-1];
			}
		}
		if(shijian > maxi) maxi = shijian;
	}
	cout << ans - maxi;//用总时间减去 省略时间 
	return 0;
}

2024/5/10 23:55
加载中...