n উপাদানের একটি পূর্ণসংখ্যা অ্যারে দেওয়া আছে। অ্যারেতে থেকে চারটি উপাদান (quadruple) নির্বাচন করে সর্বোচ্চ গুণফল (maximum product) বের করতে হবে। উদাহরণস্বরূপ, অ্যারে [3, 5, 20, 6, 10] হলে চূড়ান্ত গুণফল ৬০০০, এবং কোয়াড্রুপলের উপাদানগুলো ১০, ৫, ৬, ২০।
এটি সমাধানের জন্য নিচের ধাপগুলো অনুসরণ করতে হবে:
- অ্যারেটিকে অর্ধক্রমে (ascending order) সর্ট করুন
- মান ধরি: x = শেষ চারটি উপাদানের গুণফল, y = প্রথম চারটি উপাদানের গুণফল, এবং z = প্রথম দুটি এবং শেষ দুটি উপাদানের গুণফল
- x, y এবং z-র মধ্যে সর্বোচ্চ মান রিটার্ন করুন
উদাহরণ
#include<iostream> #include<algorithm> using namespace std; int maxQuadProduct(int arr[], int n) { if (n < 4) return -1; sort(arr, arr + n); int last_four = arr[n - 1] * arr[n - 2] * arr[n - 3] * arr[n - 4]; int first_four = arr[0] * arr[1] * arr[2] * arr[3]; int two_first_last = arr[0] * arr[1] * arr[n - 1] * arr[n - 2]; return max(last_four, max(first_four, two_first_last)); } int main() { int arr[] = { -10, -3, 5, 6, -20 }; int n = sizeof(arr) / sizeof(arr[0]); int maximum_val = maxQuadProduct(arr, n); if (maximum_val == -1) cout << "No Quadruple Exists"; else cout << "Maximum product is " << maximum_val; }আউটপুট
Maximum product is 6000