题目描述
整数数组的mex定义为没有出现在数组中的最小非负整数。
例如mex(1,2,3)=0,mex(0,2,5)=1。 现在,对于给定的由n个整数组成的数组a1,a2,...,an,取出全部连续非空子数组,并计算每个子数组的mex之和。
连续非空子数组为从原数组中,连续的选择一段元素(可以全选、可以不选)得到的新数组,且新数组中至少有一个元素。
输入描述
第一行输入一个整数n(1≤n≤2×105)代表数组中的元素数量。
第二行输入n个整数a1,a2,...,an(0≤ai≤2)代表数组元素。
输出描述
输出一个整数,代表所有子数组的mex之和。
样例
输入
3
1 1 0
输出
3
样例解释
在这个样例中,答案由以下三部分构成:
长度为1的连续子数组:[1],[1],[0],mex之和为0+0+1=1
长度为2的连续子数组:[1,1],[1,0],mex之和为0+2=2
长度为的3子数据:[1,1,0],mex之和为2。
因此,答案为1+2+2=5。