NKSGAME - VOI08 Trò chơi với dãy số
Tác giả: skyvn97
Ngôn ngữ: Java
import java.util.*;
import java.lang.*;
import java.io.*;
public class Main {
public static void main(String args[]) {
InputStream inputStream = System.in;
OutputStream outputStream = System.out;
InputReader in = new InputReader(inputStream);
PrintWriter out = new PrintWriter(outputStream);
NKSGAME solver = new NKSGAME();
solver.solve(in, out);
out.close();
}
};
class NKSGAME {
public void solve(InputReader in,PrintWriter out) {
int n=in.nextInt();
int[] a=new int[n];
int[] b=new int[n];
for (int i=0;i<n;i=i+1) a[i]=in.nextInt();
for (int i=0;i<n;i=i+1) b[i]=-in.nextInt();
Arrays.sort(a);
Arrays.sort(b);
int j=0;
int res=INF;
for (int i=0;i<n;i=i+1) {
while (j<n && b[j]<a[i]) j++;
if (j>=n) res=Math.min(res,Abs(a[i]-b[n-1]));
else {
res=Math.min(res,Abs(a[i]-b[j]));
if (j>0) res=Math.min(res,Abs(a[i]-b[j-1]));
}
}
out.println(res);
}
private static final int INF=(int)2e9+7;
private int Abs(int x) {
return (x<0?-x:x);
}
};
class InputReader {
public BufferedReader reader;
public StringTokenizer tokenizer;
public InputReader(InputStream stream) {
reader = new BufferedReader(new InputStreamReader(stream), 32768);
tokenizer = null;
}
public String next() {
while (tokenizer == null || !tokenizer.hasMoreTokens()) {
try {
tokenizer = new StringTokenizer(reader.readLine());
} catch (IOException e) {
throw new RuntimeException(e);
}
}
return tokenizer.nextToken();
}
public int nextInt() {
return Integer.parseInt(next());
}
}