atcoder#CODEFESTIVAL2017QUALBD. 101 to 010

101 to 010

Score : 700700 points

Problem Statement

NN cells are arranged in a row. Some of them may contain tokens. You are given a string ss that consists of 0s and 1s. If the ii-th character of ss is 1, the ii-th cell (from left) contains a token. Otherwise, it doesn't contain a token.

Snuke wants to perform the following operation as many times as possible. In each operation, he chooses three consecutive cells. Let's call the cells X,Y,ZX, Y, Z from left to right. In order for the operation to be valid, both XX and ZZ must contain tokens and YY must not contain a token. Then, he removes these two tokens and puts a new token on YY.

How many operations can he perform if he performs operations in the optimal way?

Constraints

  • 1N500,0001 \leq N \leq 500,000
  • s=N|s| = N
  • Each character in ss is either 0 or 1.

Input

Input is given from Standard Input in the following format:

NN

ss

Output

Print the answer.

7
1010101
2

For example, he can perform two operations in the following way:

  • Perform an operation on the last three cells. Now the string that represents tokens becomes 1010010.
  • Perform an operation on the first three cells. Now the string that represents tokens becomes 0100010.

Note that the choice of operations matters. For example, if he chooses three cells in the middle first, he can perform no more operations.

50
10101000010011011110001001111110000101010111100110
10