Pagini recente » Cod sursa (job #2129353) | Cod sursa (job #3229554) | Cod sursa (job #261512) | Cod sursa (job #2235520) | Cod sursa (job #292653)
Cod sursa(job #292653)
#include <cstdio>
#include <string>
#include <algorithm>
using namespace std;
#define Nmax 10100
int a[Nmax],b[Nmax],X[Nmax], norm[Nmax], BASE;
void sub(int A[],int B[])
{
for (int i=1;i<=B[0];++i)
if(A[i] - B[i] <= 0)
A[i] -= B[i] - BASE, --A[i+1];
else
A[i] -= B[i];
}
int main()
{
freopen("nextseq.in","r",stdin);
freopen("nextseq.out","w",stdout);
int n,tmp;
scanf("%d%d%d",&n,&a[0],&b[0]);
BASE = n;
for (int i=0;i<n;++i)
scanf("%d",X+i);
sort(X,X+n);
for (int i=0;i<n;++i)
norm[X[i]] = i+1;
for (int i=a[0];i>0;--i)
{
scanf("%d",&tmp);
a[i] = norm[tmp];
}
for (int i=b[0];i>0;--i)
{
scanf("%d",&tmp);
b[i] = norm[tmp];
}
sub(b,a);
a[0] = a[1] = 1;
sub(b,a);
int ret = 0, poz=1;
tmp = 1;
while(tmp <= 39)
{
if(ret + b[poz]*tmp <= 100)
ret += b[poz]*tmp;
tmp*=BASE;
++poz;
}
printf("%d\n",ret);
return 0;
}