二分
#include <iostream>
using namespace std;
const int N = 100010;
typedef long long LL;
int n;
int h[N];
bool check(int e)
{
for (int i = 0; i < n; i ++ )
{
e = 2 * e - h[i];
if (e > 1e5) return true;
if (e < 0) return false;
}
return true;
}
int main()
{
cin >> n;
for (int i = 0; i < n; i ++ ) cin >> h[i];
int l = 0, r = 100000;
while (l < r)
{
int mid = l + r >> 1;
if (check(mid)) r = mid;
else l = mid + 1;
}
printf("%d\n", r);
return 0;
}