#P1974. 指数序列(ivan)

指数序列(ivan)

【问题描述】

伊凡在纸上写下了一个由n个非负整数组成的序列a1,a2,…,an。这个序列保证单调不降。

接着,伊凡又在纸上写下了另一个序列2^a1,2^a2,…,2^an。现在他想知道,最少要在这个序列中添加多少个形式为2^x的数(x为非负整数),才能使这个序列所有整数的和为2^v-1,其中v为某个非负整数。

【输入格式】

第1行包括1个正整数n(1≤n≤10^5)。

第2行包括n个由空格隔开的整数a1,a2,…,an。其中,0≤ai≤2×10^9,保证a1≤a2≤…≤an。

【输出格式】

输出一行一个整数,表示最少在序列中添加数的数量。

【输入样例1】

4
0 1 1 1

【输出样例1】

0

【输入样例2】

1
3

【输出样例2】

3

【样例解释】

在第一个样例中不需要添加任何数,因为2^0+2^1+2^1+2^1=1+2+2+2=7=2^3-1。

在第二个样例中,需要至少添加3个数,分别为2^0,2^1,2^2。