একটি অ্যারে A দেওয়া থাকলে, সেটি কি দুটি ভাগে ভাগ করা যায় যাতে দুটি ভাগের যোগফল সমান, তা যাচাই করতে হবে। উপাদান [6, 1, 3, 2, 5] হলে [6, 1] এবং [2, 5] দুটি সাবঅ্যারে बनবে।
এটি সহজে সমাধান করা যায়। প্রথমে সব উপাদানের যোগফল বের করা, তারপর প্রতিটি উপাদানের জন্য ডান পাশের যোগফল বের করা: total_sum - এখন পর্যন্ত পাওয়া যোগফল।
উদাহরণ
#include<iostream> #include<numeric> using namespace std; void displaySubArray(int arr[], int left, int right) { cout << "[ "; for (int i = left; i <= right; i++) cout << arr[i] << " "; cout << "] "; } void subarrayOfSameSum(int arr[] , int n) { int total_sum = accumulate(arr, arr+n, 0); int so_far_sum = 0; for(int i = 0; i আউটপুট
subarray 1: [ 6 1 ] subarray 2: [ 2 5 ]