
-
样例过了,但是有数据点没过,不知道错哪了
#include<bits/stdc++.h>
using namespace std;
vector<vector<int> > arr;
void storage(int n){
if(n==0) return;
int beginTime,endTime;
for(int i=0;i<n;i++){
vector<int> arr1;//定义在循环里面
cin>>beginTime>>endTime;
arr1.push_back(beginTime);
arr1.push_back(endTime);
arr.push_back(arr1);
}
}
bool cmp(vector<int>&a,vector<int>&b){
return a[0]<b[0];
}
int maxTime(int n){
if(n==0) return 0;
sort(arr.begin(),arr.end(),cmp);
int res=1;
int curTime=arr[0][1];
for(int i=1;i<arr.size();i++){
if(curTime<=arr[i][0]){
res++;
curTime=arr[i][1];
}
}
return res;
}
int main(){
int n;
cin>>n;
storage(n);
int res=maxTime(n);
cout<<res;
cin.get();
return 0;
}