C. Amr and Chemistry
time limit per test
memory limit per test
input
output
Amr loves Chemistry, and specially doing experiments. He is preparing for a new interesting experiment.
n different types of chemicals. Each chemical i has an initial volume of ai
To do this, Amr can do two different kind of operations.
- i and double its current volume so the new volume will be 2ai
- i and divide its volume by two (integer division) so the new volume will be
Suppose that each chemical is contained in a vessel of infinite volume. Now Amr wonders what is the minimum number of operations required to make all the chemicals volumes equal?
Input
n (1 ≤ n ≤ 105), the number of chemicals.
n space separated integers ai (1 ≤ ai ≤ 105), representing the initial volume of the i-th chemical in liters.
Output
Output one integer the minimum number of operations required to make all the chemicals volumes equal.
Sample test(s)
input
3
4 8 2
output
2
input
3
3 5 6
output
5
Note
4.
1.
题意:给定n长的序列,每次可以选一个数 让其 乘以2 或者 除以2,问至少操作多少次使得所有数相等。
点击打开链接
#include
#include
#include
#include
#include
using namespace std;
int a[1000050];
int num[1000010];
int v[10000060];
int maxx;
int n;
int main()
{
while(scanf("%d",&n)!=EOF)
{
memset(num,0,sizeof(num));
memset(v,0,sizeof(v));
maxx = -1;
for(int i=0; i0)
{
int flag = 0;
if(t%2 == 1 && t!=1)
{
flag = 1;
}
t = t>>1;
cnt++;
v[t]++;
num[t] += cnt;
if(flag == 1)
{
pp = t;
int pcnt = cnt;
while(pp num[i])
{
minn = num[i];
}
}
printf("%dn",minn);
}
return 0;
}
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net