現給定一數列,從數列中按連續順序提取任意數量的數字。請編寫一段程序,判斷提取的數字總和等於給定值N。
第一行為一個正整數T,代表下一行的數列L的項數,第三行則為整數,給定值N。
輸出只有一行,如提取的數字總和等於N則輸出"YES"(無論有多少個組合等於N),否則則輸出最接近N的值(如有兩個則全部輸出,以升序排序,用空格隔開)。
5 9 3 1 2 5 10
9 11
6 8 -2 10 5 -3 1 12
YES
範例1說明
由於提取的數字須按連續順序,而唯一組合和等於N的10的"9 1"之間隔了3,因此不能成立。所以輸出最接近10的9和11(3+1+2+5)。
範例2說明
10+5+(-3)剛好等於N(12)。
子任務
測資#1~#2 (20分) 1<=T<=1000
測資#3~#7 (50分) 1000<=T<=10000
測資#8~#10 (30分) 10000<=T<=100000
所有測資:-10^14<=N<=10^14
ID | User | Problem | Subject | Hit | Post Date |
沒有發現任何「解題報告」 |