为什么此代码返回错误值?输入= 5 ,{ -1,4,-6,7,-4}
Why this code is returning wrong value? inputs= 5 ,{ -1,4,-6,7,-4}
#include<iostream>
#include<climits>
using namespace std;
int main(){
int n;
cin>>n;
int a[n];
for(int i=0;i<n;++i){
cin>>a[n];
} //array instillisation
int cursum=0;
int maxsum=INT_MIN;
for(int i=0;i<n;++i){
cursum+=a[i];
if(cursum<0){
cursum=0;
}
maxsum=max(cursum,maxsum);
}
cout<<maxsum<<endl;
return 0;
}
//此代码用于使用 kadane 的 algo.My 编译器返回错误输出的最大子数组问题
在cin
你操作不正确应该是
cin>> a[i];
你正在做的是获取 a[n]
的值
#include<iostream>
#include<climits>
using namespace std;
int main(){
int n;
cin>>n;
int a[n];
for(int i=0;i<n;++i){
cin>>a[n];
} //array instillisation
int cursum=0;
int maxsum=INT_MIN;
for(int i=0;i<n;++i){
cursum+=a[i];
if(cursum<0){
cursum=0;
}
maxsum=max(cursum,maxsum);
}
cout<<maxsum<<endl;
return 0;
}
//此代码用于使用 kadane 的 algo.My 编译器返回错误输出的最大子数组问题
在cin
你操作不正确应该是
cin>> a[i];
你正在做的是获取 a[n]
的值