525C. Ilya and Sticks - Codeforces Solution C++

  Problem Link : 525C. Ilya and Sticks 


✅ C++ Solution :

 
#include<bits/stdc++.h>
using namespace std;

#define ll long long int

int main()
{
	int n,val;
	cin>>n;
	vector<ll> v;
	vector<ll> pv;
	for(int i=0;i<n;i++)
	{
		cin>>val;
		v.push_back(val);
	}
	sort(v.begin(),v.end(),greater<ll>());
	ll ans=0;
	ll l=-1;
	int i=0;
	while(i<n)
	{
		if(l==-1)
			l=v[i];
		else if(v[i]==l)
		{
			pv.push_back(l);
			l=-1;
		}
		else if(v[i]==l-1)
		{
			pv.push_back(v[i]);
			l=-1;
		}
		else
			l=v[i];

		i++;
	}

	sort(pv.begin(),pv.end(),greater<ll>());

	i=0;
	while(i+1 < pv.size())
	{
		ans+=pv[i]*pv[i+1];
		i+=2;
	}
	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!!