输入第一行为数字个数n (n ≤ 20) 第二行为n个数xi (1 ≤ xi ≤ 100000)
输出最小不能由n个数选取求和组成的数
3 5 1 2
4
while True: try: num,digitList = int(input()),list(map(int,input().split())) digitList.sort() pieceNum = 0 #表示此前已经可以拼凑前pieceNum的数了 for i in digitList: if pieceNum+1 >= i: #如果当前i比pieceNum+1还要大,则这些数凑不出pieceNum+1 pieceNum += i #此时能凑的最大数为pieceNum+i else: print(pieceNum+1) break else: print(pieceNum+1) except Exception: break