CF773C.Prairie Partition
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
It can be shown that any positive integer x can be uniquely represented as x=1+2+4+...+2k−1+r , where k and r are integers, k>=0 , 0<r<=2^{k} . Let's call that representation prairie partition of x .
For example, the prairie partitions of 12 , 17 , 7 and 1 are:
12=1+2+4+5 , 17=1+2+4+8+2 ,
7=1+2+4 ,
1=1 .
Alice took a sequence of positive integers (possibly with repeating elements), replaced every element with the sequence of summands in its prairie partition, arranged the resulting numbers in non-decreasing order and gave them to Borys. Now Borys wonders how many elements Alice's original sequence could contain. Find all possible options!
输入格式
The first line contains a single integer n ( 1<=n<=105 ) — the number of numbers given from Alice to Borys.
The second line contains n integers a1,a2,...,an ( 1<=ai<=1012 ; a1<=a2<=...<=an ) — the numbers given from Alice to Borys.
输出格式
Output, in increasing order, all possible values of m such that there exists a sequence of positive integers of length m such that if you replace every element with the summands in its prairie partition and arrange the resulting numbers in non-decreasing order, you will get the sequence given in the input.
If there are no such values of m , output a single integer -1.
输入输出样例
输入#1
8 1 1 2 2 3 4 5 8
输出#1
2
输入#2
6 1 1 1 2 2 2
输出#2
2 3
输入#3
5 1 2 4 4 4
输出#3
-1
说明/提示
In the first example, Alice could get the input sequence from [6,20] as the original sequence.
In the second example, Alice's original sequence could be either [4,5] or [3,3,3] .