只有前两个测试点对了
#include<bits/stdc++.h>
using namespace std;
struct xf{
int f;
int p;
bool y=0;
}xxf[105];
struct df{
int f;
int p;
int c;
bool y=0;
}ddf[105];
int n,m,r,a,b=0,s=0;
int main(){
cin>>n>>m>>r;
for(int i=1;i<=n;i++){
cin>>ddf[i].f;
}
for(int i=1;i<=n;i++){
cin>>ddf[i].p;
}
for(int i=1;i<=n;i++){
cin>>xxf[i].f;
}
for(int i=1;i<=n;i++){
cin>>xxf[i].p;
}
for(int i=1;i<=n;i++){
cin>>a;
ddf[a].c=i;
}
for(int i=1;i<n;i++){
for(int j=1;j<n-i+1;j++){
if(ddf[j].c>ddf[j+1].c){
swap(ddf[j],ddf[j+1]);
}
if(xxf[j].p>xxf[j+1].p){
swap(xxf[j],xxf[j+1]);
}
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
ddf[i].y=1;
if(ddf[i].p<xxf[j].p&&!xxf[j].y&&ddf[i].f==xxf[i].f){
xxf[j].y=1;
}
}
}
for(int i=1;i<=n;i++){
if(!xxf[i].y){
s++;
}
}
cout<<s;
return 0;
}