Why my code gives me wrong output on gdb compilerr it gives mr coreect output as 22 for test case 0 so why not here

#include
#include
using namespace std;
int Minarray(int a[],int n){
int min_sum=INT_MAX;
for(int i=0; i<n; i++){
for(int j=1; j<n; j++){
int sum=0;
for(int k=i; k<=j; k++){
sum+=a[k];
}
if(min_sum>sum){
min_sum=sum;
}
}
}
return min_sum;
}
int sum(int a[],int n){
int sum1=0;
for(int i=0; i<n; i++){
sum1=sum1+a[i];
}
return sum1;
}
int main() {
int n;
cin>>n;
int a[n];
for(int i=0; i<n; i++){
cin>>a[i];
}
int a1=Minarray(a,n);
int b=sum(a,n);
int sum2;
sum2=b-a1;
cout<<sum2;
return 0;
}

hi @rathidevesh906_1dcc73a061c159bb, check this test case
1
7
1 2 3 4 5 6 7
ans is 28