La cursul tornadei, Meșter a scris pe caiet $N$ valori $a_1$, $a_2$, …, $a_N$ și a anunțat că va meșteri laptop-urile tuturor celor care nu rezolvă următoarea problemă folosind map int, bitset.
Se definește mulțimea $M$ astfel: Pentru fiecare $l$ și $r$ cu $1 \le l \le r \le N$, se calculează $\texttt{OR}_{l,r} = a_l | a_{l+1} | \dots | a_{r}$ și se adaugă în mulțimea $M$. Câte valori distincte conține mulțimea $M$?
În această problemă, operatorul “|” reprezintă operația de SAU pe biți.
Pe prima linie se va afla un număr $N$, numărul de valori de pe caietul meșterului. Pe a doua linie se vor afla $N$ numere $a_1$, $a_2$, …, $a_N$, cele $N$ valori.
Pe prima linie se va afișa numărul de elemente distincte ale mulțimii $M$.
Intrare
5 6 3 4 2 5
Ieșire
6
| Autor: | Bogdan-Ioan Popa |
| Publicat de: | popa.bogdannnn |
Tags:
Căutare binară Range Minimum Query Divide et Impera Operații pe biți