杭电acm 1003

 1 #include<cstdio>

 2 #include<cstdlib>

 3 #include<cstring>

 4 #include<iostream>

 5 using namespace std;

 6 

 7 int number[100005];

 8 int sum1[100005];

 9 

10 int main()

11 {

12     int x=1;

13     int T;

14     cin>>T;

15     int ii=0,jj=0;

16     while(T--)

17     {

18         int ans=-1000000;

19         int ii=0,jj=0;

20         memset(sum1,0,sizeof(sum1));

21         int l=0,r=0;

22         int N;

23         cin>>N;

24         for(int i=0;i<N;i++)

25             cin>>number[i];

26         for(int i=0;i<N;i++)

27         {

28             for(int j=0;j<=i;j++)

29                 sum1[i]+=number[j];

30         }

31         for(int i=0;i<N;i++)

32         {

33             for(int j=i;j<N;j++)

34             {

35                 int cur=sum1[j]-sum1[i]+number[i];

36                 if(ans<cur)

37                 {

38                     ii=i;

39                     jj=j;

40                     ans=cur;

41                 }

42             }

43         }

44         cout<<"Case "<<x<<":"<<endl<<ans<<" "<<ii+1<<" "<<jj+1<<endl;

45         if(T) cout<<endl;

46         x++;

47     }

48     return 0;

49 }

交上去之后,超时!

还有一种O(n)复杂度的算法,学习ing!!!

你可能感兴趣的:(ACM)