题目
洛谷P1614 爱与愁的心痛
利用一维前缀和可以轻松求解。
代码如下:
#include<bits/stdc++.h>
const int N=3e3+5, inf=0x3f3f3f3f;
int a[N],sum[N]={0};
using namespace std;
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
sum[i]=sum[i-1]+a[i];
}
int ans=inf;
for(int i=m;i<=n;i++){
ans=min(ans,sum[i]-sum[i-m]);
}
cout<<ans;
return 0;
}
附:
Ⅰ、一维前缀和公式
1.sum[i] = sum[i-1] + a[i];
2.q~r区间的和为
sum[r] - sum[q-1];
Ⅱ、inf是infinity的简写,意义是无穷大。
一般都让inf=0x3f3f3f3f