题目
#include<bits/stdc++.h>
using namespace std;
struct node{
int s,t;
}a[55];
bool v[55];
int n,ans;
queue<int> q;
bool cmp(node x,node y){
if(x.s==y.s)return x.t<y.t;
return x.s<y.s;
}
int main(){
freopen("Subsets.in","r",stdin);
freopen("Subsets.out","w",stdout);
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i].s;
for(int i=1;i<=n;i++)cin>>a[i].t;
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
if(v[i])continue;
q.push(i);
while(q.size()){
int u=q.front();
int f=1;
for(int i=1;i<=n;i++){
if(a[i].s>a[u].t){
f=0;
q.push(i);
v[i]=1;
}
}
ans+=f;
q.pop();
}
}
cout<<ans;
return 0;
}