1278C. Berry Jam - Codeforces Solution C++

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