1
class Solution {
2
public:
3
bool canThreePartsEqualSum(vector<int> &arr) {
4
int sum = 0;
5
for (auto i : arr) sum += i;
6
if (sum % 3 != 0) return false; // partition not possible
7
int part = sum / 3, temp = 0, found = 0;
8
for (int i = 0; i < arr.size(); i++) {
9
temp += arr[i];
10
if (temp == part) {
11
temp = 0;
12
found++;
13
}
14
}
15
return found >= 3 ? true : false;
16
}
17
};
18

19
feel free to ask your doubts :)
20
and pls upvote if it was helpful :)

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0