#include<bits/stdc++.h> using namespace std; struct Activity { int begin; int end; }; bool compare(Activity a, Activity b) { return a.end < b.end; } int main() { int n; cin >> n; vector<Activity> activities(n); for(int i=0;i<n;i++){ cin>>activities[i].begin>>activities[i].end; } sort(activities.begin(),activities.end(),compare); int count=1; int lastEnd=activities[0].end; for(int i=1;i<n;i++){ if(activities[i].begin>=lastEnd) { count++; lastEnd=activities[i].end; } } cout<<count<<endl; return 0; } /************************************************************** Problem: 1372 User: linxichen Language: C++ Result: Accepted Time:8 ms Memory:2076 kb ****************************************************************/