#include<bits/stdc++.h>
#define lol(i,n) for(ll i=0;i<n;i++)
#define mod 1000000007
typedef long long ll;

using namespace std;
#define N 200010
class Tan{
private:
    stack<ll> s;
    ll tot,res;
public:
    void Init(ll x){
	tot=x;
	res=0;
    }
    void Add(ll x,ll i){
	if(x>=tot){
	    for(;tot<x;tot*=4){
		if(s.size()==0){
		    res+=i;
		}
		else{
		    res+=i-s.top();
		    s.pop();
		}
	    }
	}
	else{
	    for(ll y=x*4;y<=tot;y*=4){
		s.push(i);
	    }
	}
	tot=x;
    }
    ll Calc(){
	return res;
    }
};
ll n,a[N],x[N],y[N];
int main(){
    cin>>n;
    lol(i,n)cin>>a[i];
    Tan ta;
    ta.Init(a[0]);x[0]=x[1]=0;
    for(int i=1;i<n;i++){
	ta.Add(a[i],i);
	x[i+1]=ta.Calc();
    }
    
    lol(i,n/2)swap(a[i],a[n-i-1]);
    
    Tan tb;
    tb.Init(a[0]);y[0]=y[1]=0;
    for(int i=1;i<n;i++){
	tb.Add(a[i],i);
	y[i+1]=tb.Calc();
    }
    
    //for(int i=0;i<=n;i++)cout<<x[i]<<" ";cout<<endl;
    //for(int i=0;i<=n;i++)cout<<y[n-i]<<" ";cout<<endl;
    
    ll ans=1e18;
    for(int i=0;i<=n;i++){
	ll res=x[i]+y[n-i];
	res=res*2+i;
	ans=min(ans,res);
    }
    if(ans==1e18)ans=-1;
    cout<<ans<<endl;
    return 0;
}
