import
java.util.*;
import
java.lang.*;
import
java.io.*;
class
GFG{
public
static
int
getIndexOfLargest(
int
[] array,
int
st,
int
n)
{
if
(array ==
null
|| array.length ==
0
)
return
-
1
;
int
largest = st;
for
(
int
i = st +
1
; i < n; i++)
{
if
(array[i] > array[largest])
largest = i;
}
return
largest;
}
public
static
void
swap(
int
a,
int
b,
int
[] arr)
{
int
temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
public
static
void
printMaxMedian(
int
[] arr,
int
n)
{
if
(n %
2
!=
0
)
{
int
maxElement = getIndexOfLargest(
arr,
0
, arr.length);
swap(maxElement, n /
2
, arr);
}
else
{
int
maxElement1 = getIndexOfLargest(
arr,
0
, arr.length);
int
maxElement2 = getIndexOfLargest(
arr,
0
, maxElement1);
maxElement2 = Math.max(
arr[maxElement2],
getIndexOfLargest(arr, maxElement1 +
1
,
arr.length));
swap(maxElement1, n /
2
, arr);
swap(maxElement2, n /
2
-
1
, arr);
}
for
(
int
i =
0
; i < n; i++)
System.out.print(arr[i] +
" "
);
}
public
static
void
main(String[] args)
throws
java.lang.Exception
{
int
arr[] = {
4
,
8
,
3
,
1
,
3
,
7
,
0
,
4
};
printMaxMedian(arr, arr.length);
}
}