有若干根短木棍,想要取其中的一些,拼接成一根长度至少为 n 的长木棍,问最少要用多少根?
输入:
共两行,第一行为正整数 n;
第二行:若干个整数,分别表示若干根短木棍的长度,每两个数据之间有1个空格。
输出:
一个整数,表示短木棍的最少数量。如果不能拼接成功,输出-1。
输入样例:
6
4 2 3 1
输出样例:
2
无
0
0
0
```bash
n = int(input())
a = list(map(int, input().split())) # a为正整数列表
a.sort(reverse=True)
print(a)
print(sum(a))
if sum(a)<n<a[-1]:
print(-1)
else:
nn=0
for i in a:
n-=i
nn+=1
if n<=0:
print(nn)
break
if sum(a)<n<a[-1]:
print(-1)