Subarray max sum

i am getting wrong right boundary in max subarray sum.
here is the code . pls help me .

#include
using namespace std;
int main() {
int n;
int currentsum=0;
int maxsum=0;
int left = -1;
int right = -1;
cin>>n;
int a[1000];

for(int i=0;i<n;i++){
    cin>>a[i];        
}

for(int i=0;i<n;i++){
    for(int j=i;j<n;j++){
         currentsum=0;
        for(int k=i;k<j;k++){
            currentsum=currentsum+a[k];
        }
        if(currentsum>maxsum){
            maxsum=currentsum;
            left =i;
            right =j;
        }
    }    
}
cout<<maxsum<<endl;
for(int k=left;k<=right;k++){
    cout<<a[k]<<", ";
}   
return 0;

}