#include<iostream>
using namespace std;
const int maxn=100010;
pair<int , int > t[maxn];
int n,starttime[maxn],endtime[maxn];
void solve(){
for(int i=0;i<n;i++)
t[i].second=starttime[i],t[i].first=endtime[i];
sort(t,t+n);
int ans=0;
int lastend=0;
for(int i=0;i<n;i++){
if(t[i].second>lastend){
ans++;
lastend=t[i].first;
}
}
cout<<ans<<endl;
}
void init(){
cin>>n;
for(int i=0;i<n;i++) cin>>starttime[i];
for(int i=0;i<n;i++) cin>>endtime[i];
}
int main(){
init();
solve();
return 0;
}
算法入门 4.区间调度问题(贪心)
最新推荐文章于 2025-10-08 23:30:52 发布

3098

被折叠的 条评论
为什么被折叠?



