আমাদের একটি ইন্টিজার অ্যারে দেওয়া আছে। লক্ষ্য হলো এক্সপ্রেশন arr[j]-arr[i] + arr[l]-arr[k] সর্বোচ্চ করা যেখানে i < j < k < l ইনডেক্স।
সব পসিবল i,j,k,l কম্বিনেশন ট্রাই করে এক্সপ্রেশন ভ্যালু ক্যালকুলেট করে ম্যাক্সিমাম রাখা।
ইনপুট
arr[]= { 1,2,3,4 }
আউটপুট
Maximum value for above expression is : 2
ব্যাখ্যা: i=0,j=1,k=2,l=3 -> 2-1+4-3=2।
ইনপুট
arr[]= { 5,5,5,5,5 }
আউটপুট
Maximum value for above expression is : 0
প্রোগ্রামে ব্যবহৃত পদ্ধতি
- a[] অ্যারে।
- maximizeSum(int arr[], int n) ফাংশন।
- sum, maxx = arr[0]।
- চারটি নেস্টেড লুপ: i=0 to n-3, j=i+1 to n-2, k=j+1 to n-1, l=k+1 to n-1।
- sum = arr[j]-arr[i]+arr[l]-arr[k]; maxx আপডেট।
- maxx রিটার্ন।
উদাহরণ কোড
#include <bits/stdc++.h>
using namespace std;
int maximizeSum(int arr[], int n) {
int sum = 0;
int maxx = arr[0];
for(int i=0; i= maxx) maxx = sum;
}
return maxx;
}
int main(){
int a[] = {5, 3, 9, 2, 20};
int n = sizeof(a) / sizeof(a[0]);
cout << "Maximized value is :" << maximizeSum(a, n);
return 0;
}
আউটপুট
Maximized value is :24