Cho dãy số nguyên \(a_1, a_2, \dots, a_n\). Vị trí \(i\) được gọi là điểm cân bằng nếu tổng các phần tử đứng trước \(i\) bằng tổng các phần tử đứng sau \(i\):
\[a_1 + \dots + a_{i-1} = a_{i+1} + \dots + a_n\]
(Tổng của 0 phần tử bằng \(0\).)
Hãy tìm điểm cân bằng nhỏ nhất của dãy. Nếu không có, in ra \(-1\).
Input
- Dòng đầu tiên chứa số nguyên dương \(n\) (\(1 \le n \le 10^5\)).
- Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, \dots, a_n\) (\(|a_i| \le 10^9\)).
Output
- Một số nguyên là điểm cân bằng nhỏ nhất, hoặc \(-1\) nếu không tồn tại.
Subtask
- \(50\%\) số test: \(n \le 1000\).
- \(50\%\) số test: không có ràng buộc gì thêm.
Sample Input 1
6
1 7 3 6 5 6
Sample Output 1
4
Sample Input 2
3
1 2 3
Sample Output 2
-1
Notes
Ở ví dụ 1, tại \(i = 4\): \(1 + 7 + 3 = 11\) và \(5 + 6 = 11\).
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.