站歪踢求猪
  • 板块题目总版
  • 楼主XCloud_bkzz
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/6/1 22:36
  • 上次更新2024/6/2 09:43:56
查看原帖
站歪踢求猪
1164568
XCloud_bkzz楼主2024/6/1 22:36

帮我看看代码哪里有问题

#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5;
int n,k,a[N],b[N],xx;
int main(){
	scanf("%d%d",&n,&k);
	
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
		b[i]=b[i-1]+a[i];
	}
	for(int i=1;i<=n-k+1;i++){
		int x=b[i+k-1]-b[i-1];
		xx=max(xx,x);
	}
	if(b[n]-xx<0)cout<<0,exit(0);
	if(k>=n)printf(0),exit(0);
	cout<<b[n]-xx;
	return 0;
}

注:这是前缀和,dp解法

2024/6/1 22:36
加载中...