oh no!!!!!!!!!!!!!!!!!
只得了十分!!!!!!!!!!!!
求助
by Mia_zxt @ 2024-04-24 19:14:05
这道题本蒟蒻用的是前缀和来做的,简而言之 用一个数组a[i]来存前i个数的和。然后a[i]-a[i-m]就等于第i个到第i-m+1这段长度为m的数列总和。再依次比较所有a[i]-a[i-m]中的最小值就是答案,附代码:
```
#include<bits/stdc++.h>
using namespace std;
long long n,d,min1=100010,v[100000],a[100000],da;
int main(){
cin>>n>>d;
for(int i=1;i<=n;i++){
cin>>v[i];
a[i]=a[i-1]+v[i];
}for(int i=d;i<=n;i++){
min1=min(min1,a[i]-a[i-d]);
}
cout<<min1;
return 0;
}
```
by davidhuangRDF @ 2024-04-24 19:32:11