Cod sursa(job #435682)

Utilizator GheorgheMihaiMihai Gheorghe GheorgheMihai Data 7 aprilie 2010 19:19:59
Problema NextSeq Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<stdio.h>
#include<algorithm>
using namespace std;
int n,v[10002],v1[10002],v2[10002],f[10002];

void adunare()
{
	int i;
	for(i=1;v1[i]==n-1;i++)
		v1[i]=0;
	v1[i]++;
	if(i>v1[0])
	{
		v1[0]++;
		v1[i]=0;
	}
}

bool comp()
{
	int i;
	for(i=0;i<=v2[0];i++)
		if(v1[i]!=v2[i])
			return 1;
	return 0;
}

int main()
{
	freopen("nextseq.in","r",stdin);
	freopen("nextseq.out","w",stdout);
	scanf("%d%d%d",&n,&v1[0],&v2[0]);
	int i,x,nr=0;
	for(i=1;i<=n;i++)
		scanf("%d",&v[i]);
	sort(v+1,v+n+1);
	for(i=1;i<=n;i++)
		f[v[i]]=i-1;
	for(i=v1[0];i;i--)
	{
		scanf("%d",&x);
		v1[i]=f[x];
	}
	for(i=v2[0];i;i--)
	{
		scanf("%d",&x);
		v2[i]=f[x];
	}
	while(comp())
	{
		adunare();
		nr++;
	}
	printf("%d\n",nr-1);
	return 0;
}