Pagini recente » Cod sursa (job #1821364) | Cod sursa (job #41576) | Cod sursa (job #1699744) | Cod sursa (job #2367566) | Cod sursa (job #505529)
Cod sursa(job #505529)
#include <stdio.h>
#include <algorithm>
using namespace std;
long x[10010], n, m, p, a[10010], b[10010], v[10010], sol, i, temp, q;
void add (long p) {
if (p == m + 1) {
a[++m] = 1;
} else {
if (a[p] == n) {
a[p] = 1;
add(p + 1);
} else {
a[p]++;
}
}
}
long cmp () {
if (m < p) {
return 1;
}
for (long i = m; i ; --i) {
if (b[i] > a[i]) {
return 1;
}
}
return 0;
}
int main () {
freopen("nextseq.in", "r", stdin);
freopen("nextseq.out", "w", stdout);
scanf("%ld%ld%ld", &n, &m, &p);
for (i = 1; i <= n; ++i) {
scanf("%ld", &x[i]);
}
sort(x + 1, x + 1 + n);
for (i = 1; i <= n; ++i) {
v[x[i]] = i;
}
for (i = m; i ; --i) {
scanf("%ld", &q);
a[i] = v[q];
}
for (i = p; i ; --i) {
scanf("%ld", &q);
b[i] = v[q];
}
while (!temp) {
add(1);
if (cmp()) {
++sol;
} else {
temp = 1;
}
}
printf("%ld\n", sol);
return 0;
}