vov44k

Катя #2 correct

Dec 4th, 2021 (edited)
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.util.Scanner;
  2.  
  3. public class Oprst {
  4.  
  5.     public static void main(String[] args) {
  6.         Scanner in = new Scanner(System.in);
  7.         int n = in.nextInt(), k = in.nextInt();
  8.         int[] a = new int[n], b = new int[k];
  9.         for (int i = 0; i < n; i++) {
  10.             a[i] = in.nextInt();
  11.         }
  12.         for (int i = 0; i < k; i++) {
  13.             b[i] = in.nextInt();
  14.             int left = 0, right = n - 1, middle;
  15.             while (left <= right) {
  16.                 middle = (right + left) / 2;
  17.                 if (a[middle] <= b[i])
  18.                     left = middle + 1;
  19.                 else
  20.                     right = middle - 1;
  21.             }
  22.             if (right < 0)
  23.                 right = left;
  24.             if (left >= n)
  25.                 left = right;
  26.             if (Math.abs(b[i] - a[left]) < Math.abs(a[right] - b[i]))
  27.                 System.out.println(a[left]);
  28.             else
  29.                 System.out.println(a[right]);
  30.  
  31.         }
  32.         in.close();
  33.     }
  34.  
  35. }
Add Comment
Please, Sign In to add comment