Počet bodov:
Popis:  12b
Program:  8b

Predstavte si typický deň vo firme Kódíme S Prestávkami. Je 10:50 a všetci hladní programátori sa pýtajú jedinú otázku: “Kedy bude obed?”

V tejto firme však nechodia na obed len tak hala-bala. Na veľkej obrazovke v kuchynke svieti dlhý reťazec núl a jednotiek, ktorý určuje čo sa práve deje:

  • Blok núl: “Obed sa ešte pripravuje.”
  • Blok jednotiek: “Obed je hotový, môžete ísť.”

Samozrejme, signál musí byť vždy pekne v poradí – najprv všetky nuly, potom všetky jednotky.

No ako to už býva, systém sa občas pokazí. Namiesto pekného prechodu z núl na jednotky sa na obrazovke objaví niečo takéto:

0101110010

Výsledkom je panika na chodbe. Máme ísť na obed? Ešte počkať? Máme si objednať pizzu?

Programátori si však vedia poradiť. Predpokladajú, že sa v signáli stalo čo najmenej chýb, a tak sa snažia zistiť, koľko čisel by stačilo zmeniť, aby sa signál opravil a všetci konečne vedeli, čo majú robiť.

Úloha

Dostanete reťazec tvorený nulami a jednotkami. Zistite, koľko najmenej čísel treba v zadanom reťazci zmeniť tak, aby sa z neho stal signál tvaru: 000…111 Teda aby ste dostali reťazec tvorený súvislým blokom núl a potom súvislým blokom jednotiek, pričom oba súvislé bloky musia mať dĺžku aspoň 1.

Formát vstupu

Na prvom riadku vstupu je číslo \(n\) (\(2 \leq n \leq 10^6\)) udávajúce dĺžku reťazca. V druhom riadku sa nachádza reťazec tvorený \(n\) znakmi len 0 alebo 1.

V jednotlivých sadách platia nasledujúce obmedzenia:

Sada 1 2 3 4
\(2 \leq n \leq\) \(15\) \(1000\) \(10^5\) \(10^6\)

Formát výstupu

Vypíš jeden riadok a v ňom jedno celé číslo udávajúce najmenší počet zmien, ktoré musíme spraviť, aby sme sa dostali do požadovaného stavu.

Príklad

Input:

7
0101101

Output:

2

Môžeme zameniť nuly na tretej a šiestej pozícii za jednotky, vznikne nám reťazec 0111111. Alebo môžeme zmeniť jednotku na druhej pozícii a nulu na šiestej pozícii. Vtedy vznikne reťazec 0001111.

Input:

5
00000

Output:

1

Reťazec má obsahovať súvislý blok núl aj jednotiek, preto potrebujeme urobiť jednu zmenu - pridať na koniec reťazca jednotku. Vznikne nám tak reťazec 00001.

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.