➤ Problem Link : 1278C. Berry Jam
✅ C++ Solution :
#include<bits/stdc++.h> using namespace std; #define ll long long int int main() { int t; cin>>t; while(t--) { int n,x; cin>>n; int arr[2*n+1]; for(int i=1;i<=2*n;i++) cin>>arr[i]; int ans=2*n; unordered_map<int,int> mp; int curr=0; mp[0]=0; for(int i=1;i<=n;i++) { if(arr[i]==1) curr++; else curr--; mp[curr]=i; } curr=0; if(mp.find(-curr)!=mp.end()) ans=min(ans,n+n-mp[curr]); for(int i=2*n;i>n;i--) { if(arr[i]==1) curr++; else curr--; if(mp.find(-curr)!=mp.end()) ans=min(ans,i-mp[-curr]-1); } cout<<ans<<"\n"; } }
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!!