আমার ব্যাঙ্কে গিয়ে কিছু টাকা তোলা দরকার। ইন্টারনেটের জন্য আমার রুমমেটকে দিতে $ 30, $ 22 এবং লন্ড্রিের জন্য 8 ডলার নিতে হবে। যেহেতু এগুলির কোনওটিই পরিবর্তন করতে পারে না, তাই আমার দুটি $ 30 টি আকারের দুটি পার্টিশনে বিভক্ত হওয়ার জন্য আমার 30 ডলার দরকার। এর অর্থ যখন টেলার আমাকে জিজ্ঞাসা করে আমি কীভাবে আমার 30 ডলার চাই আমাকে একটি অনুরোধ করতে হবে। আমি তাদের বলতে পারলাম আমি এটি বিশ, একটি ফাইভার এবং পাঁচটি মধ্যে চাই। তবে আমি নিজের অনুরোধটি যথাসম্ভব সহজ করতে চাই যত তাড়াতাড়ি নিজেকে পুনরাবৃত্তি না করা avoid আমার অনুরোধটিকে আরও সহজ করার জন্য আমি জিজ্ঞাসা করতে পারি যে আমার নগদটিতে বিশ এবং কমপক্ষে 2 টি রয়েছে কারণ 8 টি মোট দ্বারা বোঝানো হয়েছে, তবে আরও ভালভাবে আমি অনুরোধ করতে পারি যে আমি যে বিলগুলি পেয়েছি তার মধ্যে একটি ডলার বিল হতে হবে (আপনি যদি হন) এটি 8% না করে কেবল 29 ডলার করার চেষ্টা করে নিশ্চিত হন না।
সুতরাং এটি ঠিক আছে এবং জঘন্য, তবে প্রতিবার যখন আমি ব্যাঙ্কে যাই তখন আমার এই গণনাটি করা দরকার তাই আমি ভেবেছিলাম এটি করার জন্য আমি কোনও প্রোগ্রাম লিখব (আপনি কি আমার জন্য এটি করার জন্য কোনও প্রোগ্রাম লিখেছেন)।
আপনার প্রোগ্রাম বা ফাংশনটিতে আমার প্রয়োজনীয় সমস্ত অর্থ প্রদানের প্রতিনিধিত্ব করে পূর্ণসংখ্যার একটি তালিকা এবং ব্যাঙ্কে উপলব্ধ বিলের সংজ্ঞা উপস্থাপন করে এমন একটি পূর্ণসংখ্যার একটি সেট গ্রহণ করা উচিত এবং আপনাকে অবশ্যই সংখ্যার ক্ষুদ্রতম তালিকা আউটপুট করতে হবে যাতে প্রতিটি উপায়ে মোট এর মধ্যে রয়েছে যে সংখ্যার তালিকাটি পরিশোধের তালিকায় পরিষ্কারভাবে বিভক্ত হতে পারে।
অতিরিক্ত নিয়ম
আপনি ধরে নিতে পারেন যে ডিনোমিনেশন তালিকায় সর্বদা একটি থাকে
1
বা আপনি নিজে নিজে এটি প্রতিটি তালিকায় যুক্ত করতে পারেন।কিছু ইনপুটগুলির একাধিক ন্যূনতম সমাধান থাকবে। এই ক্ষেত্রে আপনি যে কোনও একটি আউটপুট করতে পারেন।
এটি কোড-গল্ফ তাই কম বাইট ভাল হওয়ার সাথে উত্তরগুলি বাইটে স্কোর করা হবে।
পরীক্ষার মামলা
Payments, denominations -> requests
{22,8} {1,2,5,10,20,50} -> {1} or {2}
{2,1,2} {1,5} -> {1}
{20,10} {1,2,5,10,20,50} -> {}
{1,1,1,1} {1,2} -> {1,1,1}
{20,6} {1,4,5} -> {1}
{2,6} {1,2,7} -> {2}
{22, 11} {1, 3, 30, 50} -> {1, 3}
{44, 22} {1, 3, 30, 50} -> {1, 3, 3, 30}
{2,6} {1,2,7} -> {2}
।
(If you are not convinced of this just try to make 29 dollars without making 9)
আপনি 8 না করে বোঝাচ্ছেন? বা আমি ভুল বুঝেছি