最大子數組和
阿新 • • 發佈:2018-05-07
題目 pac OS int vector CI ... namespace 最大子數組和
題目描述
給定一個數組a[0,...,n-1],求其最大子數組(長度>=1)和
輸入描述
第一行一個整數n(1<=n<=5000),然後依次輸入n個整數(每個整數範圍[-5000, 5000])
輸出描述
輸出一個整數表示最大子數組和
樣例輸入
5 1 -1 1 1 -1
樣例輸出
2
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int n = 0;
do{
cin>>n;
}while(n<1||n>5000);
vector<int>arr(n);
for(int i=0;i<n;i++){
do{
cin>>arr[i];
}while(arr[i]<-5000||arr[i]>5000);
}
int sum=0;
int 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;
return 0;
}
最大子數組和