Codeforces Round #804 (Div. 2)
4 өдрийн дараа |
E. Тохирдог тоо
хугацааны хязгаарлалт 4 секунд
санах ойн хязгаарлалт 256 мегабайт
оролт стандарт оролт
гаралт стандарт гаралт
Хэрэв $a \ \& \ b = 0$ буюу ямар нэгэн хоёр тооны битүүдийн $AND$ үйлдлийн хариу тэг гардаг бол тэр хоёр тоог тохирдог гэж үзэе. Жишээ нь $90$ ($1011010_2$) ба $36$ ($100100_2$) нь тохиромжтой тоонууд юм. Учир нь $1011010_2 \ \& \ 100100_2 = 0_2$. Харин $3$ ($11_2$) болон $6$ ($110_2$) тохиромжгүй, учир нь $11_2 \ \& \ 110_2 = 10_2$.
Танд $a_1, a_2, ... , a_n$ гэсэн бүхэл тоонуудын дараалал өгөгдсөн ба та уг дарааллын элемент тус бүрт уг дараалал дотор тохирдог тоо байгаа эсэхийг тодорхойлно.
Оролт
Эхний мөрөнд элементүүдийн тоо болох $n$ ($1 ≤ n ≤ 10^6$) байх ба дараагийн мөрөнд n$$ ширхэг хоорондоо хоосон зайгаар тусгаарлагдсан $a_1, a_2, ... ,a_n$ ($1 ≤ a_i ≤ 4·10^6$) бүхэл тоонууд байна. Мөн тоонууд давхцаж болно.
Гаралт
$n$ ширхэг $ans_i$ бүхэл тоонуудыг хэвлэх ба хэрэв өгөгдсөн тоонуудын $i$-р тоо тохиромжтой тоогүй бол $ans_i$ нь "-1", тохиромжтой тоотой бол $ans_i$ нь тэр тохиромжтой тоо нь байна. Энд $a_i \ \& \ ans_i = 0$ мөн тэр $ans_i$ нь өгөгдсөн $a_1, a_2, ... , a_n$ дараалалд агуулагддаг байх ёстой.
Орчуулсан: mmur
Жишээ тэстүүд
Оролт
2 90 36
Гаралт
36 90
Оролт
4 3 6 3 6
Гаралт
-1 -1 -1 -1
Оролт
5 10 6 9 8 2
Гаралт
-1 8 2 2 8