Computer >> Máy Tính >  >> Lập trình >> C ++

Sản phẩm tối đa của một dãy con ngày càng tăng trong C ++

Trong hướng dẫn này, chúng ta sẽ thảo luận về một chương trình để tìm ra sản phẩm tối đa của một phân khúc ngày càng tăng.

Đối với điều này, chúng tôi sẽ được cung cấp với một mảng các số nguyên. Nhiệm vụ của chúng ta là tìm tích số tối đa của bất kỳ dãy con nào của mảng với bất kỳ số phần tử nào.

Ví dụ

#include <bits/stdc++.h>
#define ll long long int
using namespace std;
//returning maximum product
ll lis(ll arr[], ll n) {
   ll mpis[n];
   //initiating values
   for (int i = 0; i < n; i++)
      mpis[i] = arr[i];
   for (int i = 1; i < n; i++)
      for (int j = 0; j < i; j++)
         if (arr[i] > arr[j] && mpis[i] < (mpis[j] * arr[i]))
            mpis[i] = mpis[j] * arr[i];
            return *max_element(mpis, mpis + n);
}
int main() {
   ll arr[] = { 3, 100, 4, 5, 150, 6 };
   ll n = sizeof(arr) / sizeof(arr[0]);
   printf("%lld", lis(arr, n));
   return 0;
}

Đầu ra

45000