Pagini recente » Cod sursa (job #2515783) | Cod sursa (job #159423) | Cod sursa (job #2595915) | Cod sursa (job #892304) | Cod sursa (job #1651911)
#include <bits/stdc++.h>
#define maxN 10002
using namespace std;
int n, m, p, len, B[maxN], ans[maxN], v[maxN];
void read()
{
int i;
freopen("nextseq.in", "r", stdin);
scanf("%d %d %d", &n, &m, &p);
for (i = 1; i <= n; ++ i)
scanf("%d", &v[i]);
}
void sub(int A[])
{
int i, t = 0;
for (i = A[0]; i >= 1; -- i)
{
A[i] = A[i] - t;
t = A[i] < 0;
if (A[i] < 0)
A[i] += n;
}
}
void solve()
{
int i, x;
len = p;
sort(v + 1, v + n + 1);
for (i = 1; i <= n; ++ i)
B[v[i]] = i;
for (i = 1; i <= m; ++ i)
{
scanf("%d", &x);
ans[len + i - m] = -B[x];
}
for (i = 1; i <= p; ++ i)
{
scanf("%d", &x);
ans[len + i - p] += B[x];
}ans[0] = len;
-- ans[len];
sub(ans);
}
void write()
{
int i, sol = 0;
freopen("nextseq.out", "w", stdout);
for (i = 1; i <= ans[0]; ++ i)
sol = sol * n + ans[i];
printf("%d", sol);
}
int main()
{
read();
solve();
write();
return 0;
}