Cod sursa(job #212319)

Utilizator pandaemonAndrei Popescu pandaemon Data 5 octombrie 2008 01:35:19
Problema NextSeq Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<stdio.h>
#include<iostream.h>

#define NMAX 10000

int n,m,p,i,var,baza;

int x2[NMAX+2]; int a[NMAX+2],b[NMAX+2];

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", &var), x2[var]=1;

  var=0;

  for(i=0; i<=NMAX; i++) if(x2[i]==1) x2[i]=++var;
			 else         x2[i]=-1;

  baza=var;

  for(i=0; i<m; i++) scanf("%d",&var ), a[i+(p-m)]=x2[var];

  for(i=0; i<p; i++) scanf("%d", &var), b[i]=x2[var];


  for(i=p-1; i>=0; i--)
  {
   var = b[i]-a[i]; 
   if(var<0) b[i]=baza+var, b[i-1]--;
   else      b[i]=var;
  }

  for(i=0; b[i]==0 && i<p; i++) ;

  if(i>p) printf("0\n");
  else
  {int rez=0, first=i; var=1;
  for(i=p-1; i>=first; i--) rez+=b[i]*var, var*=baza;
  cout<<rez-1<<endl;}


  printf("\n"); return 0;

}