এই সমস্যায়, আমাদেরকে n আকারের একটি অ্যারে দেওয়া হয়েছে এবং একটি পূর্ণসংখ্যা m। আমাদের কাজ হল এমন একটি প্রোগ্রাম তৈরি করা যা C++ এ সর্বাধিক সাবয়ারের সমষ্টি মডিউল m খুঁজে পাবে।
প্রোগ্রামের বিবরণ − এখানে, আমরা m দ্বারা বিভক্ত সাবয়ারের সমস্ত উপাদানের যোগফলকে ভাগ করে প্রাপ্ত সর্বোচ্চ মানটি খুঁজে পাব।
সমস্যাটি বোঝার জন্য একটি উদাহরণ দেওয়া যাক,
ইনপুট − অ্যারে ={4, 9 ,2} m =6
আউটপুট − 5
ব্যাখ্যা − সমস্ত সাবঅ্যারে এবং তাদের অবশিষ্টাংশ বিভাজনে
<প্রে>{4}:4%6 =4{9}:9%6 =3{2}:2%6 =2{4, 9}:13%6 =1{9, 2}:11%6 =5{4, 9, 2}:15%6 =3এই সমস্যা সমাধানের জন্য, আমরা উপসর্গ SumModulo অ্যারে গণনা করি। এবং সূত্র ব্যবহার করে প্রতিটি সূচকের maxSum গণনা করা, maxSum at i =(prefixi + prefixj + m)%m
উদাহরণ
আমাদের সমাধান চিত্রিত করার জন্য প্রোগ্রাম,
#includeনেমস্পেস ব্যবহার করে std;int calcMaxSum(int arr[], int n, int m) { int x, উপসর্গ =0, maxSumMod =0; সেট যোগফল; sums.insert(0); জন্য (int i =0; i আউটপুট
সর্বোচ্চ সাবয়ারের যোগফল মডিউল 5 হল 4