এই টিউটোরিয়ালে, আমরা সাইজ 3 এর ক্রমবর্ধমান অনুগামী সর্বাধিক পণ্য খুঁজে বের করার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব।
এর জন্য আমাদেরকে ধনাত্মক পূর্ণসংখ্যার একটি অ্যারে দেওয়া হবে। আমাদের কাজ হল সর্বাধিক পণ্যের সাথে তিনটি উপাদানের একটি অনুগামী সন্ধান করা।
উদাহরণ
#include<bits/stdc++.h> using namespace std; //returning maximum product of subsequence long long int maxProduct(int arr[] , int n) { int smaller[n]; smaller[0] = -1 ; set<int>S ; for (int i = 0; i < n ; i++) { auto j = S.insert(arr[i]); auto itc = j.first; --itc; if (itc != S.end()) smaller[i] = *itc; else smaller[i] = -1; } long long int result = INT_MIN; int max_right = arr[n-1]; for (int i=n-2 ; i >= 1; i--) { if (arr[i] > max_right) max_right = arr[i]; else if (smaller[i] != -1) result = max(smaller[i] * arr[i] * max_right, result); } return result; } int main() { int arr[] = {10, 11, 9, 5, 6, 1, 20}; int n = sizeof(arr)/sizeof(arr[0]); cout << maxProduct(arr, n) << endl; return 0; }
আউটপুট
2200