725D. Contest Balloons - Codeforces Solution C++

  Problem Link : 725D. Contest Balloons 


✅ C++ Solution :

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

#define ll long long int

#define pp pair<ll,ll>
#define mp make_pair

int main()
{
	int n;
	cin>>n;
	pp arr[n];
	for(ll i=0;i<n;i++)
		cin>>arr[i].first>>arr[i].second;

	pp m=arr[0];

	sort(arr+1,arr+n);

	priority_queue<ll,vector<ll>,greater<ll> > pq;


	ll j=n-1;
	ll ans=LONG_MAX;
	while(1)
	{
		while(arr[j].first > m.first && j>0)
		{
			if(arr[j].second >= arr[j].first)
				pq.push(arr[j].second - arr[j].first+1);
			j--;
		}
     //   cout<<pq.size()<<"\n";
		ans=min(ans,(ll)pq.size()+1);
      //  cout<<ans<<"\n";
		if(pq.size()==0)
			break;
		ll v = pq.top();
		pq.pop();
	//	cout<<v<<"\n";
		if(v>m.first)
			break;
		m.first-=v;

	}

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