//待调试
#include<stdio.h>
#include<queue>
const int MAX_N = 100000;
//输入
int N = 5, S[MAX_N] = {1,2,4,6,8}, T[MAX_N] = {3,5,7,9,10};
//用于对工作排序的pair数组
typedef pair<int,int> P;
P itv[MAX_N];
void solve(){
//对pair进行的是字典序比较
//为了让结束时间早的工作排在前面,把T存入first,把S存入second
for(int i = 0;i<N;i++){
itv[i].first = T[i];
itv[i].second = S[i];
}
sort(itv,itv+N);
//t是最后所选工作的结束时间
int ans = 0, t = 0;
for(int i = 0;i<N;i++){
if(t<itv[i].second){
ans++;
t = itv[i].first;
}
}
printf("%d\n",ans);
}
int main(){
solve();
return 0;
}
2.2.2.1 区间问题
猜你喜欢
转载自blog.csdn.net/qq_38943651/article/details/79106698
今日推荐
周排行