File tree Expand file tree Collapse file tree 1 file changed +38
-0
lines changed
Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Original file line number Diff line number Diff line change 1+ import java .io .*;
2+ import java .util .*;
3+
4+ public class Main {
5+
6+ public static void main (String [] args ) throws IOException {
7+ BufferedReader br = new BufferedReader (new InputStreamReader (System .in ));
8+ int T = Integer .parseInt (br .readLine ());
9+ StringBuffer sb = new StringBuffer ();
10+ for (int i =0 ; i <T ; i ++) {
11+ int N = Integer .parseInt (br .readLine ());
12+ int [] arr = new int [N ];
13+ StringTokenizer st = new StringTokenizer (br .readLine ());
14+ for (int j =0 ; j <N ; j ++) {
15+ arr [j ] = Integer .parseInt (st .nextToken ());
16+ }
17+ Arrays .sort (arr );
18+
19+ Deque <Integer > q = new LinkedList <>();
20+ q .add (arr [N -1 ]);
21+ for (int j =N -2 ; j >=1 ; j -=2 ) {
22+ q .addFirst (arr [j ]);
23+ q .addLast (arr [j -1 ]);
24+ }
25+ if (N %2 == 0 ) {
26+ q .addFirst (arr [0 ]);
27+ }
28+
29+ int answer = Math .abs (q .getFirst () - q .getLast ());
30+ for (int j =0 ; j <N -1 ; j ++) {
31+ int num = q .removeFirst ();
32+ answer = Math .max (answer , Math .abs (num -q .getFirst ()));
33+ }
34+ sb .append (answer ).append ('\n' );
35+ }
36+ System .out .println (sb .toString ());
37+ }
38+ }
You can’t perform that action at this time.
0 commit comments