Объяснение:
Множество относится к структурным типам данных.
Тип «множество» задаёт интервал значений, который явля-
ется множеством всех подмножеств базового типа. Базовый
тип – это перечислимый тип, кроме word, integer, longint. Син-
таксис определения типа множества:
<имя типа> = set of <базовый тип>;
Примеры:
Type
Tdigit = set of 0 .. 9;
Tsimv = set of ‘A’ .. ‘Z’ ;
Var
digit : Tdigit ;
simv : Tsimv;
Если переменная типа «множество» описана как set of 1 .. 3, то
она может принимать следующие значения: (1, 2, 3), (1, 2), (1,
3), (2, 3), (1), (2), (3), ().
Размер множества равен числу компонент базового типа
и может меняться от 0 до 256. Множество может быть пустым.
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int k = in.nextInt();
int[] array = new int[n];
int[] array1 = new int[n];
for (int i = 0;i < array.length;i++){
array[i] = in.nextInt();
}
for (int i = 0;i < k;i++){
array1[i] = in.nextInt();
System.out.println(binarySearch(array,array1[i]));
}
}
static String binarySearch(int[] sortedArray, int key) {
int index = -1;
int low = 0;
int high = sortedArray.length - 1;
while (low <= high) {
int mid = (low + high) / 2;
if (sortedArray[mid] < key) {
low = mid + 1;
} else if (sortedArray[mid] > key) {
high = mid - 1;
} else if (sortedArray[mid] == key) {
return "YES";
}
}
return "NO";
}
}
Объяснение: