1082: 垃圾桶

Memory Limit:256 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:363 Solved:71

Description

很久之前,镜流是LinXce的师傅。直到有一天,镜流对LinXce说“拿牌人有六成,你不是其中之一”,于是LinXce因为打ICPC太菜被逐出师门。一千年后的一天镜流魔阴身发作,要惩罚LinXce这个师门之耻,不让LinXce拉低NWU的获奖率。吓得LinXce躲进了垃圾桶。

基沃托斯的大街上有一排垃圾桶,垃圾桶的数量为n,有打开和关闭两种状态(打开用0表示,关闭用1表示),而LinXce就躲在一个关上盖子的垃圾桶里面。

镜流师傅可以进行一种操作:

- 将任意[l, r]区间内,所有打开的垃圾桶关闭,所有关闭的垃圾桶打开。

不过LinXce也有躲避的办法,当镜流师傅打开LinXce所在的垃圾桶时,LinXce会把自己传送到一个关闭的垃圾桶中,而在关闭的垃圾桶中LinXce处于量子叠加态。换句话说,除非镜流师傅打开所有的垃圾桶,否则无法找到LinXce。

请帮助镜流师傅来求最少进行多少次操作才能保证找到LinXce。
严谨的说:求最少进行多少次操作才能打开所有的垃圾桶。

Input

第一行输入一个整数$n$,表示垃圾桶的数量。($1 \le n \le 1\times10^6$)

第二行输入一行长度为$n$的字符串$s$,表示垃圾桶的状态,0表示打开,1表示关闭。(s[i] = '0' or '1')

Output

输出一个整数,表示最少进行多少次操作。

Sample Input Copy

10
1111000011

Sample Output Copy

2