Cod sursa(job #3259340)

Utilizator Mihai_OctMihai Octavian Mihai_Oct Data 25 noiembrie 2024 21:29:53
Problema NextSeq Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#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 = m2 - m1 + 1; i <= m2; i++) {
        fin >> a[i];
        a[i] = fr[a[i]];
    }
    for(i = 1; i <= m2; i++) {
        fin >> b[i];
        b[i] = fr[b[i]];
    }

    bool egal = false;
    while(!egal) {
        i = m2;
        while(a[i] == n) a[i--] = 1;
        a[i]++;

        i = 1;
        while(i <= m2 && a[i] == b[i]) i++;
        if(i > m2) egal = true;

        r++;
    }

    fout << r - 1;

    return 0;
}