Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:为什么超时啊?In Reply To:为什么超时啊? Posted by:VinerL at 2012-02-07 23:19:12 > #include <iostream> > #include <stdio.h> > #include <vector> > > using namespace std; > > int main() > { > int n; > int num; > int i; > int a[50001]; > int b[50001]; > int c[50001]; > scanf("%d",&n); > > for(int number=0;number<n;number++) > { > scanf("%d",&num); > for( i=0;i<num;i++) > { > scanf("%d",&a[i]); > } > > b[0]=a[0]; > > for( i=1;i<num;i++) > { > if(b[i-1]>0) > { > b[i]=b[i-1]+a[i]; > } > else > { > b[i]=a[i]; > } > } > > c[num-1]=a[num-1]; > > for( i=num-2;i>=0;i--) > { > if(c[i+1]>0) > { > c[i]=c[i+1]+a[i]; > } > else > { > c[i]=a[i]; > } > } > > > int best=-99999; > for( i=0;i<num;i++) > { > for(int j=i+1;j<num;j++) > { > if(b[i]+c[j]>best) > { > best=b[i]+c[j]; > } > > } > } > > > printf("%d\n",best); > > > } > } 貌似只能接受O(n) Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator