Bài toán: Tìm các vị trí I (nếu có) chia dãy số thành 2 phần có tổng bằng nhau. Nếu không có thì ghi ra -1
Ví dụ: n = 6; 1 3 4 2 7 3 → i = 4 (giải thích: 1+3+4+2=7+3)
Code tham khảo:
#include <iostream>
using namespace std;
int main() {
int a[100], s[100], n, i, p;
freopen("BEAUTIFULL.INP","r",stdin);
freopen("BEAUTIFULL.OUT","w",stdout);
cin >> n;
for (i=0; i<n; i++) cin >> a[i];
s[0] = a[0];
for (i=1; i<n; i++) s[i] = s[i-1] + a[i];
p = 0;
for (i=0; i < n; i++) {
if (s[i] == s[n-1] / 2) {
cout << i+1 << " ";
p = 1;
}
}
if (p == 0) cout << -1;
return 0;
}