fork download
  1. import java.util.*;
  2. import java.io.*;
  3.  
  4. public class Main {
  5. public static void main(String[] args) {
  6. Scanner scanner = new Scanner(System.in);
  7. int n = scanner.nextInt();
  8. int m = scanner.nextInt();
  9. long mod = scanner.nextLong();
  10. long[] A = new long[n];
  11. long[] B = new long[m];
  12.  
  13. for (int i = 0; i < n; i++) {
  14. A[i] = scanner.nextLong() % mod;
  15. }
  16. for (int i = 0; i < m; i++) {
  17. B[i] = scanner.nextLong() % mod;
  18. }
  19.  
  20. Arrays.sort(B);
  21. long minB = B[0];
  22. long ans = Long.MAX_VALUE;
  23.  
  24. for (long x : A) {
  25. long t = mod - x;
  26. int idx = Arrays.binarySearch(B, t);
  27. if (idx < 0) {
  28. idx = -idx - 1;
  29. }
  30. long candidate1 = Long.MAX_VALUE;
  31. if (idx < m) {
  32. candidate1 = x + B[idx] - mod;
  33. }
  34. long candidate2 = Long.MAX_VALUE;
  35. if (minB < t) {
  36. candidate2 = x + minB;
  37. }
  38. ans = Math.min(ans, Math.min(candidate1, candidate2));
  39. }
  40.  
  41. System.out.println(ans);
  42. }
  43. }
Success #stdin #stdout 0.12s 56616KB
stdin
4 5 10
2 3 4 5
1 2 3 4 6
stdout
0