परिचय
आपके पास एक दोस्त है जो आपसे ऋण मांगता रहता है और आप इससे थक जाते हैं। आज, वह फिर से ऋण के लिए आया था। उसके प्रस्ताव को ठुकराने के बजाय, आप एक महान विचार प्राप्त करते हैं: अपने दोस्त को उसे अधिक से अधिक सिक्के / बिल देकर ट्रोल करें।
चुनौती
आप इनपुट के रूप में लेंगे: आपके मित्र को जितना पैसा चाहिए उतना पैसा और आपके पास मौजूद सिक्कों / बिलों की राशि। इस चुनौती के लिए, संभव मूल्यवर्ग $ 20.00, $ 10.00, $ 5.00, $ 2.00, $ 1.00, $ 0.25, $ 0.10, $ 0.05 और $ 0.01 हैं। इनपुट का एक उदाहरण है 5.67, [5, 3, 4, 5, 5, 9, 8, 1, 2]यदि आप दोस्त $ 5.67 चाहते हैं और आपके पास 5 $ 20 बिल, 3 $ 10 बिल आदि हैं। आपका आउटपुट सिक्कों / बिलों की राशि होगी जो आपके दोस्त को यथासंभव धातु / कागज / प्लास्टिक देता है।
यदि आपके मित्र को वह धनराशि देना संभव नहीं है, जो वह चाहता है, तो उसे वह निकटतम धनराशि दें, जो आप भुगतान कर सकते हैं, जो वह चाहता है, उससे अधिक है। उदाहरण के लिए, यदि आपका दोस्त $ 0.07 चाहता है [0, 0, 0, 0, 0, 2, 4, 2, 0], लेकिन आपके पास केवल 2 डॉलर 0.05 सिक्के हैं (1 डॉलर 0.10 नहीं क्योंकि वह उसे ज्यादा से ज्यादा सिक्के नहीं देगा!)।
यदि आपका मित्र आपके पास से अधिक धन चाहता है, तो उसे अपना सारा धन दें (और प्रार्थना करें कि आपको कुछ भी खरीदने की आवश्यकता नहीं होगी)।
परीक्षण के मामलों
Input: 6.54, [9, 8, 7, 6, 5, 4, 3, 2, 4]
Output: [0, 0, 0, 1, 4, 1, 2, 1, 4]
Input: 2, [0, 1, 0, 0, 0, 0, 0, 0, 0]
Output: [0, 1, 0, 0, 0, 0, 0, 0, 0]
Input: 9999, [0, 0, 0, 0, 0, 0, 0, 0, 1]
Output: [0, 0, 0, 0, 0, 0, 0, 0, 1]
Input: 0, [99, 99, 99, 99, 99, 99, 99, 99, 99]
Output: [0, 0, 0, 0, 0, 0, 0, 0, 0]
यह कोड-गोल्फ है इसलिए सबसे छोटा कोड जीतता है।
2.00और20.00लेकिन नहीं0.2या0.02:(