➤ Problem Link : 1036D. Vasya and Arrays
✅ C++ Solution :
#include<bits/stdc++.h>
using namespace std;
#define ll long long int
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n,m;
ll sum1=0,sum2=0;
cin>>n;
ll arr1[n];
for(int i=0;i<n;i++)
{
cin>>arr1[i];
sum1+=arr1[i];
}
cin>>m;
ll arr2[m];
for(int i=0;i<m;i++)
{
cin>>arr2[i];
sum2+=arr2[i];
}
if(sum1!=sum2)
{
cout<<"-1";
exit(0);
}
int i1=0,j1=0,i2=0,j2=0,ans=0;
sum1=0,sum2=0;
bool flag=0;
while(i1<n && i2<m)
{
sum1=0,sum2=0;
j1=i1;
j2=i2;
sum1=0;
sum2=0;
while(j1<=n && j2<=m)
{
if(sum1==sum2)
{
if(sum1==0)
{
sum1+=arr1[j1++];
sum2+=arr2[j2++];
continue;
}
ans++;
i1=j1;
i2=j2;
break;
}
else if(sum1<sum2)
sum1+=arr1[j1++];
else
sum2+=arr2[j2++];
}
if(i1!=j1 && i2!=j2)
{
flag=1;
break;
}
if(j1==n && j2==m)
break;
}
if(flag)
cout<<"-1";
else
cout<<ans;
}
Thank you for your patience reading. If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Whatsapp or Facebook.
😇Happy Learning!!
