#include #include #include using namespace std; int value(int re, int rk, long long vv[]) { return vv[re]+vv[rk]-floor(log2(rk-re)); } void nullify(long long v[], int n){ for(int i = 0; i < n; ++i){ v[i] = 0; } } int main(){ int N; int dif; int maxx = 0; cin >> N; long long v[N]; nullify(v,N); for(int i=0; i < N;++i){ cin >> v[i]; } int g = 0,h; while(g < N-1){ h = N - 1; while(h > g){ dif = value(g,h,v); if(dif > maxx){ maxx = value(g,h,v); } --h; } ++g; } cout << maxx; return 0; }