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