???瓦特?

P1614 爱与愁的心痛

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


|