Cho mảng kích thước chẵn n. Chia làm 2 nửa. Tìm giá trị cần thêm vào một nửa để tổng hai nửa bằng nhau. Ví dụ: [1,2,3,2,5,3] → tổng nửa trái=6, nửa phải=10 → cần thêm 4.
Tính tổng hai nửa, trả về hiệu tuyệt đối.
Ví dụ
#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);
}
Kết quả
The number for balancing: 4