#include<iostream>
using namespace std;
#define list_length 10
int main() {
int list[ list_length ];
int i;
int max = -9999;
int cur_max = 0;
for( i = 0 ; i < list_length ; i ++ ) {
list[ i ] = rand() % 100;
//将0以及2的次方位置的数变成负数
if( ( i & ( i - 1 ) ) == 0 ) {
list[ i ] = -2 * list[ i ];
}
}
max = cur_max = list[ 0 ];
for( i = 1 ; i < list_length ; i ++ ) {
if( cur_max > max ) {
max = cur_max;
}
if( cur_max > 0 ) {
cur_max = cur_max + list[ i ];
}
else{
cur_max = list[ i ];
}
}
for( i = 0 ; i < list_length ; i ++ ){
cout << list[ i ] << " ";
}
cout << endl;
cout << max;
}
最大子段和
最新推荐文章于 2024-08-20 17:09:37 发布