class Solution {
public boolean canThreePartsEqualSum(int[] A) {
long sum = 0L;
for (int i = 0; i < A.length; ++i) {
sum += A[i];
}
if (sum % 3 != 0)
return false;
long ave = sum / 3, cur = 0L;
int count = 0;
for (int i = 0; i < A.length; ++i) {
cur += A[i];
// ans
if (count == 3)
return true;
// update
if (cur == ave) {
++count;
cur = 0L;
}
}
if (count == 3)
return true;
return false;
}
}