ধরুন আমাদের কাছে n উপাদান সহ কয়েন নামক একটি অ্যারে আছে এবং এটি আমাদের মালিকানাধীন কয়েনগুলির প্রতিনিধিত্ব করছে। ith মুদ্রার মানকে মুদ্রা [i] হিসাবে চিহ্নিত করা হয়। আমরা কিছু মান x করতে পারি যদি আমরা আমাদের কিছু n কয়েন নির্বাচন করতে পারি যাতে তাদের মান x পর্যন্ত হয়। 0 থেকে শুরু করে এবং সহ কয়েন দিয়ে আমরা সর্বোচ্চ সংখ্যক ধারাবাহিক মান খুঁজে বের করতে পারি।
সুতরাং, ইনপুট যদি কয়েনের মত হয় =[1,1,3,4], তাহলে আউটপুট হবে 10, কারণ
-
0 =[
-
1 =[1]
-
2 =[1,1]
-
3 =[3]
-
4 =[4]
-
৫ =[৪,১]
-
৬ =[৪,১,১]
-
7 =[4,3]
-
৮ =[৪,৩,১]
-
9 =[4,3,1,1]
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
তালিকার মুদ্রাগুলি সাজান
-
উত্তর :=1
-
মুদ্রায় প্রতিটি মুদ্রার জন্য, করুন
-
যদি মুদ্রা> উত্তর, তাহলে
-
লুপ থেকে বেরিয়ে আসুন
-
-
ans :=ans + মুদ্রা
-
-
উত্তর ফেরত দিন
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def solve(coins): coins.sort() ans = 1 for coin in coins: if coin > ans: break ans+=coin return ans coins = [1,1,3,4] print(solve(coins))
ইনপুট
[1,1,3,4]
আউটপুট
10