এই টিউটোরিয়ালে, আমরা n অ্যারে থেকে ক্রমবর্ধমান উপাদানগুলির সর্বাধিক যোগফল খুঁজে বের করার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব।
এর জন্য আমাদেরকে M আকারের N অ্যারে দেওয়া হবে। আমাদের কাজ হল প্রতিটি অ্যারের থেকে একটি উপাদান নির্বাচন করে সর্বাধিক যোগফল খুঁজে বের করা যাতে পূর্ববর্তী অ্যারের উপাদানটি পরেরটির থেকে ছোট হয়৷
উদাহরণ
#include <bits/stdc++.h>
#define M 4
using namespace std;
//calculating maximum sum by selecting
//one element
int maximumSum(int a[][M], int n) {
for (int i = 0; i < n; i++)
sort(a[i], a[i] + M);
int sum = a[n - 1][M - 1];
int prev = a[n - 1][M - 1];
int i, j;
for (i = n - 2; i >= 0; i--) {
for (j = M - 1; j >= 0; j--) {
if (a[i][j] < prev) {
prev = a[i][j];
sum += prev;
break;
}
}
if (j == -1)
return 0;
}
return sum;
}
int main() {
int arr[][M] = {
{1, 7, 3, 4},
{4, 2, 5, 1},
{9, 5, 1, 8}
};
int n = sizeof(arr) / sizeof(arr[0]);
cout << maximumSum(arr, n);
return 0;
} আউটপুট
18