#include #include #include #include using namespace std; int n; long long v[100100], sol = -4000000100LL; long long rmq[100100][20], put[100100]; inline long long Maxim(int st, int dr) { int lg=dr-st+1; int Exp=put[lg]; int dif=lg-(1<> n; for(i = 1; i <= n; ++i) cin >> v[i]; for(i=1;i<=n;i++) rmq[i][0]=v[i]; for(k=1;(1< 0; dif = (dif << 1)) { sol = max(sol, v[i] + Maxim(max(1, i - (dif << 1) + 1), i - dif) - put[dif]); } } cout << sol << "\n"; return 0; }