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.