➤ Problem Link : BUSYMAN
👉 Hint : Use sorting and think of a greedy approach
✅ C++ Solution :
#include<bits/stdc++.h> using namespace std; #define ll long long int bool comp(pair<ll,ll> a,pair<ll,ll> b) { if(a.second != b.second) return a.second<b.second; return a.first<b.first; } int main() { int t; cin>>t; vector<pair<ll,ll> > v; while(t--) { ll n,s,e; ll ans=0; cin>>n; v.clear(); while(n--) { cin>>s>>e; v.push_back(make_pair(s,e)); } sort(v.begin(),v.end(),comp); ll curr=-1; for(auto it=v.begin();it!=v.end();it++) { if(it->first>=curr) { curr=it->second; ans++; } } cout<<ans<<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!!