有若干根短木棍?(Python)

问题遇到的现象和发生背景

有若干根短木棍,想要取其中的一些,拼接成一根长度至少为 n 的长木棍,问最少要用多少根?

输入:
共两行,第一行为正整数 n;

第二行:若干个整数,分别表示若干根短木棍的长度,每两个数据之间有1个空格。

输出:
一个整数,表示短木棍的最少数量。如果不能拼接成功,输出-1。

输入样例:
6
4 2 3 1

输出样例:
2

遇到的现象和发生背景,请写出第一个错误信息

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%

0

运行结果及详细报错内容

0

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

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)