File tree 1 file changed +38
-0
lines changed
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