其他分享
首页 > 其他分享> > P5638 【CSGRound2】光骓者的荣耀

P5638 【CSGRound2】光骓者的荣耀

作者:互联网

P5638 【CSGRound2】光骓者的荣耀
题解:
由题意可知枚举i=1~n-k,且i+k~n两段的和求最小值,纯暴力时间O(n2),此题会TLE,预处理前缀和,可以加快两点的和求解时间为O(n),注意数据大小要long long 类型。

#include<bits/stdc++.h>
using namespace std;
const int maxn=1000010;
long long a[maxn];
int main()
{
	int n,k;
	scanf("%d %d",&n,&k);
	for (int i=1;i<n;i++)
	{
		scanf("%lld",&a[i]);
		a[i]+=a[i-1];
	}
	long long ans=a[n-1];
	for (int i=k;i<n;i++)
	{
		ans=min(ans,a[n-1]-(a[i]-a[i-k]));
	}
	cout<<ans<<endl;
} 

  

标签:int,CSGRound2,荣耀,long,maxn,P5638
来源: https://www.cnblogs.com/smghj/p/15974441.html