编程题
### 问题描述
鸡哥是一个美食爱好者,他在一次的美食之旅中,遇到了一个有趣的挑战。在他面前的是 $N$ 盘美食,每盘美食上都有一个标签,标签上写着 `0` 或 `1`。
鸡哥可以从这些美食中选择一些连续的盘子,形成一个美食子串。然而,每个美食子串都有一个“代价”,这个代价是子串中 `0` 的数量减去 `1` 的数量。
鸡哥的挑战是,找出有多少种不同的“代价”值,使得至少存在一个美食子串的代价等于这个值。
鸡哥需要你的帮助,你能帮他完成这个挑战吗?
### 输入格式
输入的第一行包含一个整数 $N$($1 \leq N \leq 10^5$),表示美食的盘子数。
输入的第二行包含 $N$ 个整数,每个整数为 `0` 或 `1`,表示每盘美食上的标签。
### 输出格式
输出的第一行包含一个整数,表示有多少种不同的“代价”值。
### 样例输入
```
5
1 0 1 0 1
```
### 样例输出
```
3
```