Подотрезки с заданным XOR

Просмотр в формате PDF

Submit solution


Очки: 170
Ограничение по времени: 2.0s
Ограничение по памяти: 256M

Problem types
Allowed languages
C++, Python

Инженер анализирует поток числовых блоков данных. Для каждого блока известен его контрольный код — неотрицательное целое число. Инженеру нужно определить, сколько непрерывных участков потока имеют суммарный контрольный XOR, равный заданному значению k.

Формально дан массив из n неотрицательных чисел a_1, a_2, ..., a_n и число k. Требуется посчитать количество подотрезков массива, для которых XOR всех элементов на этом подотрезке равен k.

Входные данные

В первой строке стандартного ввода заданы два целых числа n и k.

Во второй строке стандартного ввода содержатся n целых чисел a_i.

Выходные данные

В стандартный вывод выведите одно целое число — количество подотрезков, XOR элементов которых равен k.

Ответ может не помещаться в 32-битный целочисленный тип.

Ограничения

  • 1 <= n <= 2 * 10^5
  • 0 <= k <= 10^9
  • 0 <= a_i <= 10^9

Примеры

Пример 1

Входные данные

4 6
4 2 2 6

Выходные данные

3

Пояснение

Подотрезки с XOR = 6: [4,2], [2,2,6] и [6] — всего 3.

Пример 2

Входные данные

1 0
494

Выходные данные

0

Комментарии

Еще нет ни одного комментария.