Pagini recente » Cod sursa (job #415216) | Cod sursa (job #1374913) | Cod sursa (job #113378) | Profil Livcristi | Cod sursa (job #197192)
Cod sursa(job #197192)
# include <stdio.h>
int a[10010],b[10001],x[10001],i,j,n,m,p,aux,ok,l,k,fr[10001],w;
void aduna (int a[10001])
{
if (a[0]<n-1)
a[0]++;
else
{
i=0;
while (a[i]==n-1)
{
a[i]=0;
i++;
}
if (i<m)
a[i]++;
else
{
a[i]=0;
m++;
}
}
}
int main ()
{
freopen ("nextseq.in","r",stdin);
freopen ("nextseq.out","w",stdout);
scanf ("%i%i%i",&n,&m,&p);
for (i=0;i<n;i++)
scanf ("%i",&x[i]);
for (i=0;i<m;i++)
scanf ("%i",&a[i]);
for (i=0;i<p;i++)
scanf ("%i",&b[i]);
for (i=0;i<n;i++)
fr[x[i]]++;
w=0;
for (i=0;i<10000;i++)
if (fr[i]!=0)
{
fr[i]=w;
w++;
}
for (i=0;i<m;i++)
a[i]=fr[a[i]];
for (i=0;i<p;i++)
b[i]=fr[b[i]];
for (i=0;i<m/2;i++)
{
aux=a[i];
a[i]=a[m-i-1];
a[m-i-1]=aux;
}
for (i=0;i<p/2;i++)
{
aux=b[i];
b[i]=b[p-i-1];
b[p-i-1]=aux;
}
k=0;
while (ok==0)
{
k++;
aduna (a);
if (m==p)
{
l=0;
for (i=0;i<m;i++)
if (a[i]!=b[i])
{
l=1;
break;
}
if (l==0)
ok=1;
}
}
printf ("%i",k-1);
return 0;
}