HackerEarth Max Power problem solution

In this HackerEarth Max Power problem solution Given an array A having N distinct integers.

The power of the array is defined as:
max(A[i] - A[j]) where 2 <= i <= N
for each i, j is the largest index less than i such that A[j] < A[i].
Let's say the array is {1,2,5}, then the power of the array is max((2-1),(5-2)), which simplifies to max(1,3) which is equal to 3.

Operation Allowed:
If you are allowed to choose any two indices x and y and swap A[x] and A[y], find out the maximum power that can be achieved.

HackerEarth Max Power problem solution.

`#include<bits/stdc++.h>using namespace std;int main(){  int t;cin>>t;  int a[100100];  int b[100100];  while(t--){    int n;cin>>n;    for(int i=1; i<=n; i++){      cin>>a[i];b[i] = a[i];    }    sort(b+1, b+1+n);    if(n == 2){      cout<<abs(a[2]-a[1])<<endl;      continue;    }    if(a[1] == b[n] and a[n] == b[1] and n != 2)cout<<max(b[n-1]-b[1], b[n]-b[2])<<endl;    else cout<<b[n]-b[1]<<endl;  }  return 0;}`