def main():
    import sys
    input = sys.stdin.read().split()
    idx = 0
    N = int(input[idx])
    idx +=1
    A = list(map(int, input[idx:idx+N]))
    idx += N
    
    # Left to right: compute best interval ending at i
    left_cost = [0]*N
    left_len = [0]*N
    left_sum = [0]*N
    
    for i in range(N):
        if i == 0:
            left_cost[i] = 1 + A[i]
            left_len[i] = 1
            left_sum[i] = A[i]
        else:
            # cost of extending previous interval
            prev_len = left_len[i-1]
            prev_sum = left_sum[i-1]
            prev_cost = left_cost[i-1]
            new_len = prev_len + 1
            new_sum = prev_sum + A[i]
            delta = 2*prev_len +1 + A[i]
            new_cost = prev_cost + delta
            cost_new = 1 + A[i]
            if new_cost < cost_new:
                left_cost[i] = new_cost
                left_len[i] = new_len
                left_sum[i] = new_sum
            else:
                left_cost[i] = cost_new
                left_len[i] = 1
                left_sum[i] = A[i]
    
    # Right to left: compute best interval starting at i
    right_cost = [0]*N
    right_len = [0]*N
    right_sum = [0]*N
    
    for i in range(N-1, -1, -1):
        if i == N-1:
            right_cost[i] = 1 + A[i]
            right_len[i] = 1
            right_sum[i] = A[i]
        else:
            # extend next interval
            next_len = right_len[i+1]
            next_sum = right_sum[i+1]
            next_cost = right_cost[i+1]
            new_len = next_len + 1
            new_sum = next_sum + A[i]
            delta = 2*next_len +1 + A[i]
            new_cost = next_cost + delta
            cost_new = 1 + A[i]
            if new_cost < cost_new:
                right_cost[i] = new_cost
                right_len[i] = new_len
                right_sum[i] = new_sum
            else:
                right_cost[i] = cost_new
                right_len[i] = 1
                right_sum[i] = A[i]
    
    # Now compute the merged cost for each i and compare with left and right
    ans = [0]*N
    for i in range(N):
        candidates = [left_cost[i], right_cost[i]]
        l_len = left_len[i]
        r_len = right_len[i]
        l_sum = left_sum[i]
        r_sum = right_sum[i]
        merged_len = l_len + r_len -1
        merged_sum = l_sum + r_sum - A[i]
        merged_cost = merged_len * merged_len + merged_sum
        candidates.append(merged_cost)
        ans[i] = min(candidates)
    
    for a in ans:
        print(a)
    
if __name__ == '__main__':
    main()