最大连续子数组
题目描述
给定一个数组A[0,…,n-1],求A的连续子数组,使得该子数组的和最大,以及该子数组的和。
输入样例:
8
1,-2,3,10,-4,7,2,-5
输出样例:
3,10,-4,7,2
18
#include <iostream>
using namespace std;
int main(){
int max,sum;
int t1,t2;
int n;
cin>>n;
int a[n];
for(int i=0;i<n;i++){
cin>>a[i];
}
max=a[0];
for(int i=0;i<n;i++){
for(int j=i;j<n;j++){
sum=0;
for(int k=i;k<=j;k++){
sum+=a[k];
}
if(max<sum){
max=sum;
t1=i;
t2=j;
}
}
}
for(int i=t1;i<=t2;i++){
cout<<a[i]<<" ";
if(i==t2){
cout<<endl;
}
}
cout<<max;
return 0;
}