इस ट्यूटोरियल में, हम आकार 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