牛牛与木棍
题号:NC21671
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

牛牛有一些木棍,现在牛牛想让这些木棍都变成同样的长度
牛牛可以进行如下的操作
选择一根长度为L>=2的木棍
如果L为偶数,将木棍一分为2,变成两根L/2的木棍
否则,分成一根为(L+1) / 2, 另一根为(L-1) / 2;
在分成的两根中选择其中一根,扔掉另外一根
牛牛的任务是让剩下的木棍变成一样长 ,现在请你帮助牛牛算出最少需要几步可以完成任务

输入描述:

第一行输入一个整数n (2 ≤ n ≤ 50)

第二行输入n个整数表示每根木棍的长度ai (1 ≤ ai ≤ 109)

输出描述:

输出一个整数
示例1

输入

复制
2
11 4

输出

复制
3
示例2

输入

复制
7
1 2 3 4 5 6 7

输出

复制
10
示例3

输入

复制
6
13 13 7 11 13 11

输出

复制
11

备注:

子任务一30分:n<=10

子任务二30分:n<=20

子任务三40分:n<=50