Pagini recente » Cod sursa (job #3193376) | Cod sursa (job #1193360) | Cod sursa (job #697678) | Cod sursa (job #1270122) | Cod sursa (job #3259339)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("nextseq.in");
ofstream fout("nextseq.out");
int n, m1, m2, x[10002], i, r;
int a[10002], b[10002], fr[10002];
static inline void Normalizeaza() {
sort(x + 1, x + n + 1);
for(i = 1; i <= n; i++) fr[x[i]] = i;
}
int main() {
fin >> n >> m1 >> m2;
for(i = 1; i <= n ; i++) fin >> x[i];
Normalizeaza();
for(i = 1; i <= m1; i++) {
fin >> a[i];
a[i] = fr[a[i]];
}
for(i = 1; i <= m2; i++) {
fin >> b[i];
b[i] = fr[b[i]];
}
reverse(a + 1, a + m1 + 1);
reverse(b + 1, b + m2 + 1);
while(true) {
if(m1 > m2) goto finish;
else if(m1 == m2) {
for(i = m1; i >= 1; i--) {
if(a[i] > b[i]) goto finish;
if(a[i] < b[i]) break;
}
}
i = 1;
while(a[i] == n && i <= m1) a[i++] = 1;
a[i]++;
r++;
m1 = max(m1, i);
}
finish:;
fout << r + 1;
return 0;
}