n উপাদানের একটি অ্যারে A দেওয়া আছে। এবং n জোড় সংখ্যা। আমাদের অ্যারে ব্যালেন্সড (balanced) করার জন্য যোগ করতে হবে এমন মান খুঁজে বের করতে হবে। যেহেতু অ্যারের সাইজ জোড়, তাই আমরা দুটি হাফ (half) করতে পারি। বাম হাফের যোগফল এবং ডান হাফের যোগফল ব্যালেন্সড হতে হবে। উদাহরণস্বরূপ, A = [1, 2, 3, 2, 5, 3] হলে বাম হাফের যোগফল ৬, ডান হাফের যোগফল ১০। তাই অ্যারে ব্যালেন্সড করার জন্য ৪ দরকার।
কাজটি সহজ: প্রথম ও দ্বিতীয় হাফের যোগফল বের করব, তারপর তাদের निरপেক্ষ পার্থক্য রিটার্ন করব।
উদাহরণ
#include<iostream> #include<cmath> using namespace std; int getValueToBalance(int a[], int n) { int left_sum = 0; for (int i = 0; i < n/2; i++) left_sum += a[i]; int right_sum = 0; for (int i = n/2; i < n; i++) right_sum += a[i]; return abs(left_sum - right_sum); } int main() { int arr[] = {1, 2, 3, 2, 5, 3}; int n = sizeof(arr)/sizeof(arr[0]); cout << "The number for balancing: " << getValueToBalance(arr, n); }আউটপুট
The number for balancing: 4