activity selection problem
// Greedy appraoch TC:O(nlogn)
#include<bits/stdc++.h>
using namespace std;
struct activity
{
int start,end;
};
bool sort_a(activity s1,activity s2)
{
return(s1.end<s2.end);
}
void max_activity(activity arr[],int n)
{
sort(arr,arr+n,sort_a);
int i=0;
cout<<"("<<arr[i].start<<","<<arr[i].end<<")"<<endl;
for(int j=1;j<n;j++)
{
if(arr[j].start>=arr[i].end)
{
cout<<"("<<arr[j].start<<","<<arr[j].end<<")"<<endl;
i=j;
}
}
}
int main()
{
int n;
cin>>n;
activity arr[n];
for(int i=0;i<n;i++)
{
cin>>arr[i].start>>arr[i].end;
}
max_activity(arr,n);
return 0;
}
Are there any code examples left?
New code examples in category C++
-
C++ 2023-04-28 17:44:25
-
C++ 2022-03-27 19:20:39 lists occurrences of characters in the string c++
-
C++ 2022-03-27 18:00:14 variabili in c++
-
C++ 2022-03-27 17:10:08 repeat character n times c++
-
C++ 2022-03-27 15:50:07 delete an array c++
-
C++ 2022-03-27 15:40:12 C++ pointer to base class
-
C++ 2022-03-27 12:15:21 find the graph is minimal spanig tree or not
-
C++ 2022-03-27 11:30:15 multi variable assignment cpp
-
C++ 2022-03-27 11:05:17 c++ pi float
-
C++ 2022-03-27 10:20:12 why exceptions can lead to memory leaks