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