Guest
Login
跳过导航链接

电子搬砖
Time Limit:1000MS  Memory Limit:32768K

Description:

小明在大学期间没有好好学习,在毕业之后找不到工作,只能去搬砖了(调侃)。实际上,小明在科技发达的今天,他找到了一份电子搬砖的工作。现有n个砖堆,每个砖堆都是2的幂次方。第i(1<=i<=n)个砖堆的砖块数量是2wi。老板要求小明每次搬砖的砖块数是2的幂次方,那么小明最少要搬几次砖,才能搬完呢?例如对于一组砖堆,2 2 4 8 8,分别是21,21,22,23,23,如果按砖堆依次搬,要5次搬完。但小明可以将两个2并成一个4砖堆,又可将这个4砖堆与现有的4砖堆并成一个8砖堆,于是就剩下3个8砖堆了。这三个8砖堆可以1个16砖堆和一个8砖堆搬走,从而两次就可搬完。

Input:

多组数据。每组数据以一个整数n(1≤n≤1000)开始,后跟n个砖堆(用幂次方表示),w1,w2,...,wn(0≤wi≤1000)。

Output:

对于每组数据,输出一行结果,即最少的搬砖次数。

Sample Input:

5
1 1 2 3 3
6
1 3 2 1 3 3

Sample Output:

2
1

Source:

qn
Status  Submit


Zhe Jiang University Of Technology Online Programming Space Beta1.3
Designed & Developped By Jin Qiwei
Refactored By cb@zjut.edu.cn , QQ Group: 723311416  All Copyright Reserved 2006-
238