301482: CF279D. The Minimum Number of Variables
Memory Limit:256 MB
Time Limit:1 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
The Minimum Number of Variables
题意翻译
**题目描述** 有$n$个数$a_i$,还有$m$个容器,第一步把$a_1$赋值给某一个容器,然后每一步的赋值操作就是选两个容器的和赋值给一个容器(随便选,不要求容器不同,但求和容器必须有值),第$i$步赋值操作的返回值必须等于$a_i$(从$2$开始算),求$m$的最小值,没有这样的$m$输出$-1$。 **数据范围** $n\leq 23$,$1\leq a_i\leq 1e9$题目描述
You've got a positive integer sequence $ a_{1},a_{2},...,a_{n} $ . All numbers in the sequence are distinct. Let's fix the set of variables $ b_{1},b_{2},...,b_{m} $ . Initially each variable $ b_{i} $ $ (1<=i<=m) $ contains the value of zero. Consider the following sequence, consisting of $ n $ operations. The first operation is assigning the value of $ a_{1} $ to some variable $ b_{x} $ $ (1<=x<=m) $ . Each of the following $ n-1 $ operations is assigning to some variable $ b_{y} $ the value that is equal to the sum of values that are stored in the variables $ b_{i} $ and $ b_{j} $ $ (1<=i,j,y<=m) $ . At that, the value that is assigned on the $ t $ -th operation, must equal $ a_{t} $ . For each operation numbers $ y,i,j $ are chosen anew. Your task is to find the minimum number of variables $ m $ , such that those variables can help you perform the described sequence of operations.输入输出格式
输入格式
The first line contains integer $ n $ $ (1<=n<=23) $ . The second line contains $ n $ space-separated integers $ a_{1},a_{2},...,a_{n} $ $ (1<=a_{k}<=10^{9}) $ . It is guaranteed that all numbers in the sequence are distinct.
输出格式
In a single line print a single number — the minimum number of variables $ m $ , such that those variables can help you perform the described sequence of operations. If you cannot perform the sequence of operations at any $ m $ , print -1.
输入输出样例
输入样例 #1
5
1 2 3 6 8
输出样例 #1
2
输入样例 #2
3
3 6 5
输出样例 #2
-1
输入样例 #3
6
2 4 8 6 10 18
输出样例 #3
3