1036D. Vasya and Arrays - Codeforces Solution C++

  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!!