কম্পিউটার

C++-এ সর্বাধিক যোগফল পর্যায়ক্রমিক অনুক্রম


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

এর জন্য আমাদেরকে পূর্ণসংখ্যার একটি অ্যারে দেওয়া হবে। আমাদের কাজ হল একটি পর্যায়ক্রমিক অনুক্রমের সর্বাধিক যোগফল খুঁজে বের করা, যেমন অনুক্রম যা প্রথমে কমছে, তারপর বাড়ছে, তারপর কমছে ইত্যাদি।

উদাহরণ

#include<bits/stdc++.h>
using namespace std;
//returning maximum sum alternating series
int maxAlternateSum(int arr[], int n) {
   if (n == 1) return arr[0];
   int dec[n];
   memset(dec, 0, sizeof(dec));
   int inc[n];
   memset(inc, 0, sizeof(inc));
   dec[0] = inc[0] = arr[0];
   int flag = 0 ;
   for (int i=1; i<n; i++) {
      for (int j=0; j<i; j++) {
         if (arr[j] > arr[i]) { dec[i] = max(dec[i], inc[j]+arr[i]); flag = 1; }
         else if (arr[j] < arr[i] && flag == 1) inc[i] = max(inc[i], dec[j]+arr[i]);
      }
   }
   int result = INT_MIN;
   for (int i = 0 ; i < n; i++) {
      if (result < inc[i])
      result = inc[i];
      if (result < dec[i]) result = dec[i];
   }
   return result;
}
int main() {
   int arr[]= {8, 2, 3, 5, 7, 9, 10};
   int n = sizeof(arr)/sizeof(arr[0]);
   cout << "Maximum sum = " << maxAlternateSum(arr , n ) << endl;
   return 0;
}

আউটপুট

Maximum sum = 25

  1. C++ এ দুটি অ্যারেতে সর্বাধিক সমষ্টি পথ

  2. C++ এ সর্বাধিক সাবয়ারের সমষ্টি m মডিউল

  3. C++ এ উপসর্গ যোগ ব্যবহার করে O(n) তে সর্বাধিক সাবয়ারের যোগফল

  4. C++ এ একটি অ্যারেতে সর্বোচ্চ ভারসাম্যের যোগফল