3-й этап Республиканской олимпиады по информатике 2022-2023, 2й тур
Задача F. XOR-сумма
Ограничение по времени:
2 секунды
Ограничение по памяти:
512 мегабайт
Дан массив $a$ из $n$ целых положительных чисел. Для каждого целого числа $k$ от $1$ до $m$ найдите значение $(a_1 \bmod k) \oplus (a_2 \bmod k) \oplus \ldots \oplus (a_n \bmod k)$. Здесь $\oplus$ обозначает операцию побитового XOR или исключающего ИЛИ. Данная операция существует во всех современных языках программирования, например, в языках C++,Python и Java она обозначена как <<^>>, в Pascal — как <
Формат входного файла
В первой строке задаются два целых числа $n$ и $m$ ($1 <= n, m <= 500\,000$).
Во второй строке задаются массив $a_1, a_2, \ldots, a_n$ ($1 <= a_i <= m$).
Формат выходного файла
Выведите $m$ целых чисел через пробел, где $k$-е число равно значению $(a_1 \bmod k) \oplus (a_2 \bmod k) \oplus \ldots \oplus (a_n \bmod k)$.
Примеры:
Вход 4 5 2 5 4 2Ответ
0 1 3 1 4Вход
10 12 1 2 4 8 9 10 11 12 3 5Ответ
0 1 1 1 0 1 0 5 9 3 11 1( Temirlan Satylkhanov )
Комментарий/решение:
Возможно, что при неправильном наборе формул, они будут
доредактированы модератором. При этом содержание не будет меняться.