为什么此代码返回错误值?输入= 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]

的值