Pagini recente » Cod sursa (job #776904) | Cod sursa (job #3156621) | Cod sursa (job #2757547) | Cod sursa (job #112200) | Cod sursa (job #274154)
Cod sursa(job #274154)
#include<stdio.h>
#include<algorithm>
using namespace std;
#define M 10003
int a[M],b[M],c[M],nr[M],n,m,p,i,r,j,q;
inline int verif()
{
if (b[0]<c[0]) return 0;
else
if (b[0]>c[0]) return 1;
else
{
i=1;
while (b[i]==c[i]) i++;
if (b[i]>=c[i]) return 1;
else return 0;
}
}
int main()
{
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",&a[i]);
sort(a+1, a+n+1);
for (i=1;i<=n;i++)
nr[a[i]]=i-1;
for (i=1;i<=m;i++)
{
scanf("%d",&r);
b[i]=nr[r];
}
for (i=1;i<=p;i++)
{
scanf("%d",&r);
c[i]=nr[r];
}
b[0]=m;
c[0]=p;
for(j=1;;j++)
{
for (i=b[0];b[i]==n-1;i--);
if (i!=0)
{
b[i]++;for (q=i+1;q<=b[0];q++) b[q]=0;
}
else
{
b[0]++;
for (q=1;q<=b[0];q++) b[q]=0;
}
if (b[0]<c[0]);
else
if (b[0]>c[0]) break;
else
{
i=1;
while (b[i]==c[i]) i++;
if (b[i]>=c[i]) break;
}
}
printf("%d",j-1);
return 0;
}