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;

}

## 0 Comments