Cod sursa(job #218459)

Utilizator Matei14Popa-Matei Mihai Matei14 Data 2 noiembrie 2008 10:23:50
Problema NextSeq Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<stdio.h>
#define N 10002
int v[N],a[N],x[N],y[N],A[N];
int main(){
	int n,m,p,i,k=0,s=0,w,max=0,r;
	freopen("nextseq.in","r",stdin);
	freopen("nextseq.out","w",stdout);
	scanf("%d%d%d",&n,&p,&m);
	for(i=1;i<=n;++i){
		scanf("%d",&y[i]);
		++v[y[i]];
		if(y[i]>max)
			max=y[i];
	}
	for(i=1;i<=max;++i)
		if(v[i]){
			k+=v[i];
			A[i]=k-1;
			}
		
	w=1;
	for(i=1;i<p;++i)
		w*=n;
	r=w;
	for(i=p+1;i<m;++i){
		s+=r;
		r*=n;
	}
	for(i=1;i<=p;++i){
		scanf("%d",&x[i]);
		s+=(k-A[x[i]]-1)*w;
		w/=n;
	}
	r*=n;
	for(i=1;i<=m;++i){
		scanf("%d",&a[i]);
		s+=A[a[i]]*r;
		r/=n;
	}
	printf("%d\n",s);
	fclose(stdin);
	fclose(stdout);
	return 0;
}