10分 求助!!!!

P1614 爱与愁的心痛

```cpp #include<cstdio> using namespace std; int n,m,tree[12009],a[3009],sum=0,out,fh; char c,cc; int read()//读入优化 { out=0,fh=1,cc=getchar(); if(cc=='-'){fh=-1;} while(cc>'9'||cc<'0'){cc=getchar();} while(cc>='0'&&cc<='9') { out=out*10+cc-'0', cc=getchar(); } return out*fh; } int min(int a,int b)//毫无卵用的手写min { if(a<b){return a;} else{return b;} } void change(int k,int l,int r,int p,int c)//修改操作,因为……一开始赋值时还是需要修改的…… { if(l==r) { tree[k]=c; return; } int mid=(l+r)/2; if(p<=mid){change(k*2,l,mid,p,c);} else{change(k*2+1,mid+1,r,p,c);} tree[k]=min(tree[k*2],tree[k*2+1]); } int query(int k,int l,int r,int ll,int rr)//维护操作…… { if(ll<=l&&rr>=r){return tree[k];} int mid=(l+r)/2,ret=233333333; if(ll<=mid){ret=min(ret,query(k*2,l,mid,ll,rr));} if(rr>mid){ret=min(ret,query(k*2+1,mid+1,r,ll,rr));} return ret; } int main() { n=read(),m=read(); for(int i=1;i<=n;i++) { a[i]=read(),sum=sum+a[i];//找出连续m个数之和 if(sum>=m) { sum=sum-a[i-m]; change(1,1,n-m+1,i-m+1,sum);//插入 } } printf("%d",query(1,1,n-m+1,1,n-m+1));//一共有n-m+1个不同的和,在这之中找最小 return 0; } ```
by binbang @ 2017-03-23 19:10:38


好吧我承认我多打了一个%d 删了之后果然AC了。 ```cpp #include <cstdio> int n,m,ans=2147483600,a[3000]; int main(){ scanf ("%d%d",&n,&m); for (int i=0;i<n;i++)scanf ("%d",&a[i]);//一开始就是这儿多打了一个%d for (int i=0;i<n-m+1;i++){ int s=0; for (int j=i;j<i+m;j++)s+=a[j]; if (s<ans)ans=s; } printf ("%d",ans); return 0; } ```
by 引领天下 @ 2017-04-05 12:09:23


```cpp #include<iostream> using namespace std; int n,m,s,mm,x[1000000]; int main() { cin>>n>>m; for (int i=1;i<=n;i++) cin>>x[i]; for (int i=1;i<=m;i++) s+=x[i];mm=s; for (int i=m+1;i<=n;i++) { s+=x[i]; s-=x[i-m]; if (s<mm) mm=s; } cout<<mm<<endl; return 0; } ```
by wangshuheng3541 @ 2017-07-03 21:32:24


好像你们的都没我简单。 /\* ```cpp #include<iostream> #include<cstdio> #include<algorithm> using namespace std; int n,m,i,a[3005],t=1,s,mi=2100000000; int main() { cin>>n>>m; for(i=1;i<=n;i++)cin>>a[i]; for(i=1;i<=m;i++)s+=a[i]; if(mi>s)mi=s; for(i=m+1;i<=n;i++) { s-=a[t];t++;s+=a[i];if(s<mi)mi=s; } if(s<mi)mi=s; cout<<mi; } */ ```
by sjl40 @ 2017-10-28 21:35:37


@[binbang](/space/show?uid=35451) 你个抄题解的还装dalao。
by sjl40 @ 2017-10-28 21:37:48


|