我用的是前缀和来做的(是对的),但是,我想看一下更快的算法。
#include<bits/stdc++.h>
using namespace std;
int n,m,a[3001],sum;
long long s[3001];
int main(){
sum=1<<30;
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
s[i]=s[i-1]+a[i];
}
for(int i=1;i<=n-m+1;i++){
int x=s[i+m-1]-s[i-1];
sum=min(x,sum);
}
printf("%d",sum);
return 0;
}
有没有大佬有更快的算法,求解!!!