Розмалюй і володарюй
Limits: 4 sec., 256 MiB
У Зеника є масив \(a\) з \(n\) елементів, при чому \(n\) ділиться на 4. Але він хоче також утворити граф з \(n\) вершин. Ребро між вершинами \(v\) та \(u\) (\(v \ne u\)) він додає, якщо \(a_v\) \(\&\) \(a_u \ne 0\), де \(\&\) — операція побітового І.
Марічка ж хоче видалити усі ребра в Зениковому графі. Для цього за одну хвилину вона може пофарбувати рівно \(\frac{n}{2}\) вершин у синій колір, решту вершин у жовтий колір та видалити усі ребра, які проходять між вершинами однакового кольору.
Допоможіть Марічці визначити, за яку мінімальну кількість хвилин вона зможе видалити усі ребра.
Input
У першому рядку задано одне ціле число \(n\). У другому рядку задано \(n\) цілих чисел \(a_i\).
Output
Виведіть єдине число — мінімальну кількість хвилин, необхідну для видалення усіх ребер.
Constraints
\(4 \le n \le 2 \cdot 10^5\), \(n\) ділиться на 4,
\(0 \le a_i < 2^{18}\).
Samples
Input (stdin) | Output (stdout) |
---|---|
4 3 6 12 9 | 2 |
Input (stdin) | Output (stdout) |
---|---|
4 0 0 0 0 | 0 |
Submit a solution
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|