आपको एक प्रोग्राम या फ़ंक्शन लिखना चाहिए जो एक गैर-नकारात्मक पूर्णांक k
और एक सॉर्ट किए गए पूर्णांक सूची L
को इनपुट और आउटपुट के रूप में लेता है या एक चिकनी सूची देता है M
।
M
सूची को क्रमबद्ध रखते हुए L
अधिकांश k
पूर्णांक तत्वों को सम्मिलित करके आरोही सूची से बनाया जाता है। सम्मिलित किए गए पूर्णांकों को इस तरह से चुना जाना चाहिए कि M
जितना संभव हो उतना कम होगा। हम इस छोटे से मूल्य को "चिकनाई" कहेंगे।
सूची के आगे के अंतर -1 3 8 11 15
हैं 4 5 3 4
और अधिकतम आगे का अंतर है 5
।
साथ 2
सम्मिलन की चिकनाई 2 10 15
है 4
और एक संभावित उत्पादन होता है 2 6 10 11 15
आगे अंतर के साथ 4 4 1 4
।
इनपुट
- एक गैर-नकारात्मक पूर्णांक
k
। L
कम से कम 2 तत्वों के साथ एक आरोही पूर्णांक सूची ।
उत्पादन
- आरोही पूर्णांक सूची
M
। - यदि कई सही उत्तर मौजूद हैं, तो उनमें से एक बिल्कुल ठीक है (कोई भी पर्याप्त है)।
- आपके समाधान को मेरे कंप्यूटर पर एक मिनट के तहत किसी भी उदाहरण के परीक्षण के मामले को हल करना है (मैं केवल करीबी मामलों का परीक्षण करूंगा। मेरे पास एक नीचे-औसत पीसी है।)।
उदाहरण
कोष्ठक में इनपुट ( k
; L
) => एक संभावित आउटपुट और अधिकतम फॉरवर्ड अंतर (जो आउटपुट का हिस्सा नहीं है)
0, 10 20 => 10 20 (10)
2, 1 10 => 1 4 7 10 (3)
2, 2 10 15 => 2 6 10 11 15 (4)
3, 2 10 15 => 2 5 8 10 12 15 (3)
5, 1 21 46 => 1 8 15 21 27 33 39 46 (7)
5, 10 20 25 33 => 10 14 18 20 24 25 29 33 (4)
3, 4 4 6 9 11 11 15 16 25 28 36 37 51 61 => 4 4 6 9 11 11 15 16 22 25 28 36 37 45 51 59 61 (8)
15, 156 888 2015 => 156 269 382 495 608 721 834 888 1001 1114 1227 1340 1453 1566 1679 1792 1905 2015 (113)
8, -399 -35 -13 56 157 => -399 -347 -295 -243 -191 -139 -87 -35 -13 39 56 108 157 (52)
5, 3 3 3 => 3 3 3 3 (0)
यह कोड-गोल्फ है इसलिए सबसे छोटी प्रविष्टि जीतती है।
rF<seq>
दो-तत्व टुपल्स को अनपैक करने के लिए उपयोग करने के बारे में नहीं सोचा था ।