1003 ( Max Sum )

 1 #include <iostream>
 2 #include <vector>
 3 using namespace std;
 4 
 5 int add(int j , int k, vector<int> v ){
 6     int sum=0;
 7     for(int i=j;i<=k;i++){
 8         sum+=v[i];
 9     }
10     return sum;
11 }
12 int main()
13 {
14     int T;
15     cin>>T;
16     for(int i=0;i<T;i++){
17         int *maxm;
18         int N;
19         cin>>N;
20         // a round
21         //readin
22         vector<int> v;
23         for(int j=0;j<N;j++){
24             int input;
25             cin>>input;
26             v.push_back(input);            
27         }
28         //init
29         int max[3]={0,0,v[0]};
30         maxm=max;
31         //comp
32         for(int j=0;j<N;j++){
33             for(int k=j;k<N;k++){
34                 int temp=add(j,k,v);
35                 if(max[2]<temp){
36                     max[0]=j;
37                     max[1]=k;
38                     max[2]=temp;
39                 }
40             }
41         }
42         //output
43         cout<<"Case "<<i+1<<":"<<endl<<maxm[2]<<" "<<maxm[0]+1<<" "<<maxm[1]+1<<endl<<endl;
44     }
45     return 0;
46 }

Time Limit Exceeded 超时了,如何破?

原文地址:https://www.cnblogs.com/manhua/p/3060627.html