Pagini recente » Cod sursa (job #499761) | Cod sursa (job #2254366) | Cod sursa (job #2314307) | Cod sursa (job #1677639) | Cod sursa (job #33020)
Cod sursa(job #33020)
#include<stdio.h>
#include<string.h>
main()
{
long a[10001],b[10001],i,j,p,n,m,k,l,x[10001],s,d,t,sp,valid;
freopen("nextseq.in","r",stdin);
freopen("nextseq.out","w",stdout);
fscanf(stdin,"%ld%ld%ld",&p,&n,&m);
for(i=1;i<=p;i++)
fscanf(stdin,"%ld",&x[i]);
memset(a,0,sizeof(a));
i=1;
do{ if(x[i]>x[i+1]) { sp=x[i];x[i]=x[i+1];x[i+1]=sp; i-=2; }
i++;
if(i<1)i=1;
}while(i<p);
t=1;
for(i=(m-n)+1;t<=n;i++)
{ fscanf(stdin,"%ld",&k);
j=1;valid=0;
do{ if(k==x[j]){ a[i]=j; valid=1; }
j++;
}while(valid==0);
t++;
}
for(i=1;i<=m;i++)
{ fscanf(stdin,"%ld",&k);
j=1;valid=0;
do{ if(k==x[j]){ b[i]=j; valid=1; }
j++;
}while(valid==0);
}
t=0;
do{
i=m;
do{
valid=0;
if(a[i]==p){i--;valid=1;}
}while(valid==1);
a[i]++; i++;
do{
if(i<=m)a[i]=1;
i++;
}while(i<=m);
j=1;
valid=1;
do{
if(a[j]!=b[j])valid=0;
j++;
}while((j<=m)&&(valid==1));
t++;
}while(valid==0);
t--;
fprintf(stdout,"%ld",t);
fclose(stdin);
fclose(stdout);
return 0;
}