最大子数组和

来源:互联网 发布:掠食龙网络平台 编辑:程序博客网 时间:2024/06/06 18:06
题目描述:给定一个数组a[0,...,n-1],求其最大子数组(长度>=1)和

输入描述:第一行一个整数n(1<=n<=5000),然后依次输入n个整数(每个整数范围[-5000, 5000])

输出描述:输出一个整数表示最大子数组和

(采用暴力枚举法,分治法动态规划以后补充)

暴力枚举法:

#include<iostream>  #include<vector>  using namespace std;  int main()  {  int n = 0;  cin>>n;   vector<int> arr(n);  for(int i = 0;i<n;i++){  cin>>arr[i];  }   int sum=0,max=0;  for(int i = 0;i<arr.size();++i){  sum = 0;  for(int j = i;j<arr.size();++j){  sum += arr[j];  if(sum>max)  max = sum;}  }  cout<<max<<endl;  system("pause");  return 0;  }