0001 extern int s_lo, s_hi; 0002 0003 int gs_BF( int A[], int n ) { //蛮力策略:O(n^3) 0004 int gs = A[0]; s_lo = n; s_hi = -1; 0005 for ( int i = 0; i < n; i++ ) 0006 for ( int j = i; j < n; j++ ) { //枚举所有的O(n^2)个区段 0007 int s = 0; for ( int k = i; k <= j; k++ ) s += A[k]; //用O(n)时间求和 0008 if ( gs < s ) { gs = s; s_lo = i; s_hi = j + 1; } //择优、更新 0009 } 0010 return gs; 0011 }