Pagini recente » Cod sursa (job #1257447) | Cod sursa (job #2715295) | Cod sursa (job #1029454) | Cod sursa (job #763587) | Cod sursa (job #214110)
Cod sursa(job #214110)
#include<stdio.h>
#define N 10005
int a[N],b[N],v[N],q[N],n,m,p;
void funct(int r){
a[r]=v[1];
if(!q[a[r+1]])
m++;
q[a[r+1]]++;
if(q[a[r+1]]>n)
funct(r+1);
}
int cond(){
int i;
if(p>m)
return 1;
if(p<m)
return 0;
for(i=m;i>=1;--i)
if(a[i]>b[i])
return 0;
return 1;
}
void sort(){
int i,j,min,x;
for(i=1;i<n;++i){
min=i;
for(j=i+1;j<=n;++j)
if(v[j]<v[min])
min=j;
if(min!=i){
x=v[min];
v[min]=v[i];
v[i]=x;
}
}
}
int main(){
int i,r;
freopen("nextseq.in","r",stdin);
freopen("nextseq.out","w",stdout);
scanf("%d%d%d",&n,&m,&p);
for(i=1;i<=n;++i)
scanf("%d",&v[i]);
for(i=m;i>=1;--i)
scanf("%d",&a[i]);
for(i=p;i>=1;--i)
scanf("%d",&b[i]);
sort();
for(i=1;i<=n;++i)
q[v[i]]=i;
r=0;
i=q[a[1]];
while(cond()){
a[1]=v[i++];
r++;
if(q[a[1]]<=1){
i=1;
funct(1);
}
}
printf("%d\n",r-1);
fclose(stdin);
fclose(stdout);
return 0;
}