কম্পিউটার

C++ এ বারবার সংযোজন করার পর তৈরি করা অ্যারেতে সর্বাধিক সাবয়ারের যোগফল


এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম নিয়ে আলোচনা করব যাতে বারবার সংযোজন করার পরে তৈরি করা অ্যারের মধ্যে সর্বাধিক সাব্যারে যোগফল পাওয়া যায়।

এর জন্য আমাদের একটি অ্যারে এবং একটি পূর্ণসংখ্যা K প্রদান করা হবে। আমাদের কাজ হল সর্বাধিক উপাদান সহ সাবয়ারে খুঁজে বের করা যখন প্রদত্ত অ্যারেটি K বার পুনরাবৃত্তি হয়।

উদাহরণ

#include<bits/stdc++.h>
using namespace std;
//returning sum of maximum subarray
int maxSubArraySumRepeated(int a[], int n, int k) {
   int max_so_far = INT_MIN, max_ending_here = 0;
   for (int i = 0; i < n*k; i++) {
      max_ending_here = max_ending_here + a[i%n];
      if (max_so_far < max_ending_here)
      max_so_far = max_ending_here;
      if (max_ending_here < 0) max_ending_here = 0;
   }
   return max_so_far;
}
int main() {
   int a[] = {10, 20, -30, -1};
   int n = sizeof(a)/sizeof(a[0]);
   int k = 3;
   cout << "Maximum contiguous sum is "
   << maxSubArraySumRepeated(a, n, k);
   return 0;
}

আউটপুট

Maximum contiguous sum is 30

  1. C++ এ সর্বাধিক একটি উপাদান মুছে ফেলার পরে সর্বাধিক সাবয়ারের যোগফল সর্বাধিক করুন

  2. C++ এ K নেগেশানের পরে অ্যারের যোগফল সর্বাধিক করুন

  3. C++-এ সর্বোচ্চ যোগফল কঠোরভাবে বর্ধিত সাবাররে খুঁজুন

  4. C++ এ বারবার বিয়োগ করে সব উপাদান একই করার পর সর্বাধিক অ্যারের যোগফল খুঁজুন