class Solution {
public:
bool canThreePartsEqualSum(vector<int>& arr) {
int sum=0;
for(auto i:arr)
sum+=i;
int yu=sum%3;
int Thr=sum/3;
if(yu!=0)
return false;
int sumTemp=0;
bool flag=false;
int index=0;
for(int i=0;i<arr.size();i++)
{
sumTemp+=arr[i];
if(sumTemp==Thr)
{
index=i;
flag=true;
break;
}
}
if(flag==false)
return false;
sumTemp=0;
flag=false;
for(int i=index+1;i<arr.size();i++)
{
sumTemp+=arr[i];
if(sumTemp==Thr)
{
index=i;
flag=true;
break;
}
}
if(flag==false)
return false;
sumTemp=0;
flag=false;
for(int i=index+1;i<arr.size();i++)
{
sumTemp+=arr[i];
if(sumTemp==Thr)
{
index=i;
flag=true;
break;
}
}
if(flag==false)
return false;
return true;
}
};