ARRANGE - Arranging Amplifiers - SPOJ Solution C++

  Problem Link : ARRANGE 


👉 Hint : Sorting

 


✅ C++ Solution :

 
#include<bits/stdc++.h>
using namespace std;
#define ll long long int
 
int main()
{
	int t;
	cin>>t;
	while(t--)
	{
		ll n,x,k=0;
		cin>>n;
		vector<ll> v;
		for(ll i=0;i<n;i++)
		{
			cin>>x;
			v.push_back(x);
			if(x==1)
			{
			    v[i]=v[k];
			    v[k++]=1;
			}
		}
		if(n-k==2 && ((v[n-2]==2 && v[n-1]==3) || (v[n-2]==3 && v[n-1]==2)) )
		{
			v[n-2]=2;
			v[n-1]=3;
		    for(auto i : v)
			    cout<<i<<" ";
	    	cout<<endl;
			continue;
		}
		sort(v.begin()+k,v.end(),greater<ll>());
		for(auto i : v)
			cout<<i<<" ";
		cout<<endl;
		
	}
}

 

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