Cerință
Se dă un șir binar, , de lungime . Avem la dispoziție următoarea operație: Alegem () și dăm flip elementului . Prin operația de flip, întelegem înlocuirea lui cu și invers.
Să se determine numărul minim de operații necesare astfel încât șirul să conțină cel puțin o subsecvență de lungime pară care admite element majoritar.
Spunem că un element este majoritar într-un șir dacă acesta apare de mai multe ori decât restul elementelor la un loc.
Date de intrare
Pe prima linie se găsește numărul . Pe a doua linie se găsește șirul .
Date de ieșire
Se va afișa un singur număr, reprezentând numărul minim de operații necesare pentru a obține cel puțin un subșir contiguu de lungime pară care adminte element majoritar.
Restricții și precizări
- ;
- Prin subsecvență a unui șir se înțelege o succesiune de elemente aflate pe poziții consecutive în șirul inițial. De exemplu, pentru șirul , este o subsecvență, este o subsecvență, dar nu este.
- Pentru teste în valoare de de puncte, ;
Exemplul 1
stdin
3
101
stdout
1
Explicație
Putem aplica operația de flip pe primul element și obținem șirul . Acum, primele două elemente formează o subsecvență cu elementul majoritar .
Exemplul 2
stdin
6
000100
stdout
0
Explicație
Observăm că ultimele două elemente din șir formează o subsecvență de lungime pară care îl are pe ca element majoritar.