Help me in solving HIDIF problem

My issue

runtime error

My code

#include <bits/stdc++.h>
using namespace std;

int main() {
	// your code goes here
  int t;
  cin>>t;
  while(t--)
  {
      int n,k;
      cin>>n>>k;
      int a[n];
      for(int i=0;i<n;i++)
      cin>>a[i];
      
      
      int diff,diff_1,diff_k,mdiff_1,mdiff_k=0;
      for(int i=0;i<n-1;i++)
      {
          diff+=abs(a[i]-a[i+1]);
      }
      
       for(int i=0;i<n;i++)
      {
          diff_1=0;
          a[i]=1;
          for(int j=0;j<n-1;j++)
          {
          diff_1+=abs(a[j]-a[j+1]);
          }
          mdiff_1=max(mdiff_1,diff_1);
      }
      
      
      for(int i=0;i<n;i++)
      {
          diff_k=0;
          a[i]=k;
          for(int j=0;j<n-1;j++)
          {
          diff_k+=abs(a[j]-a[j+1]);
          }
          mdiff_k=max(mdiff_k,diff_k);
      }
      
      int maxx=max(diff,max(mdiff_k,mdiff_1));
      return maxx;
      
      
  }
}

Problem Link: Large Differences Practice Coding Problem

@uchiha_1511
logic is quite simple just make each a[i] as 1 or k and calculate the result and print the maximum out of them.

by converting A[i] as 1 or k find difference b/w new sum and old sum
include
#include<bits/stdc++.h>
define ll long long int
define mod 1000000007
using namespace std;
int main() {
cin.tie(0)->sync_with_stdio(false);
int t;cin>>t;
while(t–){
int n,x;cin>>n>>x;
int A[n];
for(int i=0;i<n;i++){
cin>>A[i];
}
if(n==1){
cout<<0<<endl;
continue;
}
int ans=0;
for(int i=1;i<n;i++){
ans+=abs(A[i]-A[i-1]);
}
int ex=0;
for(int i=1;i<n-1;i++){
int prev=abs(A[i]-A[i+1])+abs(A[i]-A[i-1]);
int a=A[i];
A[i]=1;
int ne=abs(A[i]-A[i+1])+abs(A[i]-A[i-1]);
A[i]=x;
int ne2=abs(A[i]-A[i+1])+abs(A[i]-A[i-1]);
A[i]=a;
ex=max(ex,ne-prev);
ex=max(ex,ne2-prev);
}
int a=A[0];
int pr=abs(A[1]-A[0]);
A[0]=1;
int ne=abs(A[0]-A[1]);
A[0]=x;
int ne2=abs(A[0]-A[1]);
A[0]=a;
ex=max(ex,ne-pr);
ex=max(ex,ne2-pr);
a=A[n-1];
pr=abs(A[n-1]-A[n-2]);
A[n-1]=1;
ne=abs(A[n-1]-A[n-2]);
A[n-1]=x;
ne2=abs(A[n-1]-A[n-2]);
A[n-1]=a;
ex=max(ex,ne-pr);
ex=max(ex,ne2-pr);
cout<<ans+ex<<endl;
}
cerr << "Time : " << 1000 * ((double)clock()) / CLOCKS_PER_SEC << “ms” << endl;
return 0;
}