Реализуйте алгоритм приближенного бинарного поиска. входные данные в первой строке входных данных содержатся числа n и k (0nk11 ). во второй строке n чисел первого массива, отсортированного по неубыванию, а в третьей строке – k чисел второго массива. каждое число в обоих массивах по модулю не превосходит 2109. выходные данные для каждого из k чисел выведите в отдельную строку число из первого массива, наиболее близкое к данному. если таких несколько, выведите меньшее из них
примеры
входные данные
5 5
1 3 5 7 9
2 4 8 1 6
выходные данные
1
3
7
1
5
#include <stdio.h>
using namespace std;
int main(){
int y;
cin>>y;
y=y%12;
switch (y){
case 4:{cout<<"Mouse"; break;}
case 5:{cout<<"Bull";break;}
case 6:{cout<<"Tiger";break;}
case 7:{cout<<"Rabbit";break;}
case 8:{cout<<"Dragon";break;}
case 9:{cout<<"Snake";break;}
case 10:{cout<<"Horse";break;}
case 11:{cout<<"Goat";break;}
case 0:{cout<<"Monkey";break;}
case 1:{cout<<"Cock";break;}
case 2:{cout<<"Dog";break;}
case 3:{cout<<"Pig";break;}
}
cin.get();
cin.get();
return 0;
}
0
Объяснение:
⌐A & ⌐(⌐A ∨ ⌐B) = ⌐A & (⌐⌐A & ⌐⌐B) = ⌐A & (A & B) = (⌐A & A) & B = 0 & B = 0
⌐(⌐A ∨ ⌐B) = ⌐⌐A & ⌐⌐B (правило де Моргана для ИЛИ)
⌐⌐A = A (закон двойного отрицания)
⌐⌐B = B (закон двойного отрицания)
⌐A & (A & B) = (⌐A & A) & B (сочетательный закон для И)
(⌐A & A) = 0 (операция переменной с её инверсией для И)
0 & B = 0 (операция с константой для И)
отрицание (НЕ, ⌐, черта над буквой)
конъюнкция (И, &, ∧)
дизъюнкция (ИЛИ, ∨)