Time limit: 1s
Memory limit: 64MB
Input:
Output:
Cerință
Se da un sir de valori, din acest sir putem alege oricare elemente alaturate cu valori egale si sa le unim intr-un element cu valoare cu mai mare.
Care e lungimea minima la care pot aduce sirul astefel incat sa fie un sir ?
Un sir este un sir in care xor-ul oricaror doua elemente alaturate sa aiba numar impar de biti de .
De exemplu elementele si pot sta alaturate intr-un sir deoarece , iar are numar impar de biti de (are bit).
Date de intrare
Pe prima linie il avem pe .
Pe a doua linie este sirul .
Date de ieșire
Lungimea minima a unui sir la care putem ajunge sau daca nu putem ajunge la niciun sir .
Restricții și precizări
- Un sir care contine un singur element este considerat .
- Problema admite doar solutii de de puncte.
Exemplul 1
stdin
5
1 2 1 1 2
stdout
3
Explicație
Lungimea minima este si o obtinem asa:
.
Exemplul 2
stdin
4
2 1 1 5
stdout
-1
Explicație
Nu putem obtine un sir .