class MaxGap {
public:
int abs(int i){
return i>0?i:-i;
}
int findMaxGap(vector<int> A, int n) {
// write code here
int max0 = A[0];
int *b = new int[n];
b[n - 1] = A[n - 1];
for (int i = n - 2; i >= 0; i--) {
b[i] = A[i] > b[i + 1] ? A[i] : b[i + 1];
}
int maxGap = 0;
for (int k = 0; k < n - 1; k++) {
if(A[k]>max0) max0=A[k];
int gap = abs(max0 - b[k + 1]);
if(gap>maxGap) maxGap=gap;
}
delete [] b;
return maxGap;
}
};