Cod sursa(job #69039)

Utilizator gabitzish1Gabriel Bitis gabitzish1 Data 30 iunie 2007 20:39:55
Problema NextSeq Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.15 kb
#include<stdio.h>
#include<math.h>

long long n, m, p, c[1000], a[1000], b[1000], x, y, z;

void buble()
{
  int i, ok=1;
  long long aux;
  while (ok)
    {
      ok=0;
      for (i=1; i<m; i++)
	if (c[i]>c[i+1])
	  {
	    aux=c[i];
	    c[i]=c[i+1];
	    c[i+1]=aux;
	    ok=1;
	  }
    }
}

int transf10(long long v[], long long d, long long x)
{
  int i, y;
  for (i=d; i>=1; i--)
    { y=pow(m,d-i);
      y*=v[i];
      x=x+y;
    }
  return x;
}



void citire()
{
  freopen("nextseq.in","r",stdin);
  freopen("nextseq.out","w",stdout);

  scanf("%lld %lld %lld",&m, &n, &p);
  long long i;

  for (i=1; i<=m; i++) scanf("%lld",&c[i]);
  for (i=1; i<=n; i++) scanf("%lld",&a[i]);
  for (i=1; i<=p; i++) scanf("%lld",&b[i]);

  buble();

  for (i=1; i<=n; i++)
    for (int j=1; j<=m; j++)
      if (a[i]==c[j]){  a[i]=j-1;}

  for (i=1; i<=p; i++)
    for (int j=1; j<=m; j++)
      if (b[i]==c[j]){ b[i]=j-1;}
  y=transf10(a,n,y);
  z=transf10(b,p,z);


  long long contor;
  if (z>y) contor=z-y+1;
    else contor=y-z+1;

  printf("%lld",contor);
}

int main()
{
  citire();
  return 0;
}