Koniec kola: 17. marec 2025 23:59
1 deň
Počet bodov:
Popis:  12b
Program:  8b

Martin má kocúra Ferka. Ferko je ale mierne obézny kocúr, takže musí začať držať diétu. Martin počul o jednej veľmi efektívnej diéte pre kocúrov - pórová diéta. V tejto diéte môžu mačky jesť iba pór.

Bohužiaľ prestup na túto diétu Ferkovi nepomohol. To preto, že mu Martin dával príliš veľa póru. Na internetovom fóre Kŕmenie Super Parťákov sa dozvedel, že na každej škatuli od póru sú čísla, ktoré určujú, koľko póru má dať svojmu miláčikovi. No a keďže je to pór, tak sa to zisťuje pOR-om. Pomôžete Martinovi zistiť, koľko póru má dať Ferkovi?

Úloha

Máme pole čísiel \(P\). Zaujíma nás, koľko je v ňom takých súvislých úsekov, ktoré majú bitový OR rovný \(k\).

Formát vstupu

V prvom riadku vstupu dostanete dve čísla - \(n\) - počet prvkov v poli \(P\) a \(k\) - bitový OR ktorý sa snažíme docieliť.

Ďalej bude nasledovať jeden riadok, na ktorom bude \(n\) nezáporných celých čísiel.

V jednotlivých sadách platia nasledujúce obmedzenia:

Sada 1 2 3 4
\(1 \leq n \leq\) \(100\) \(10\,000\) \(10^5\) \(5 \cdot 10^5\)
\(1 \leq k \leq\) \(1\,000\) \(10^6\) \(10^9\) \(10^{9}\)
\(1 \leq P_i \leq\) \(1\,000\) \(10^6\) \(10^9\) \(10^{9}\)

Formát výstupu

Vypíšte počet úsekov poľa \(P\), ktoré majú bitový OR rovný \(k\)

Príklady

Input:

2 1
1 1

Output:

3

Úseky, ktoré majú bitový OR \(1\) sú: [0, 0], [0, 1], [1, 1]

Input:

10 1
1 1 1 1 1 1 1 1 1 1

Output:

55

Každý súvislý podúsek má bitový OR 1 (podúsekov je 55)

Input:

5 7
1 2 2 1 1

Output:

0

V žiadnom podúseku nie je bitový OR 7

Odovzdávanie

Na odovzdávanie sa musíš prihlásiť

Otázky a diskusia

Po skončení kola budete mať príležitosť na diskutovanie o riešeniach v diskusii pod vzorovým riešením.