Cod sursa(job #2907110)

Utilizator amcbnCiobanu Andrei Mihai amcbn Data 28 mai 2022 19:17:19
Problema Secv Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
/// [A][M][C][B][N] ///
#include <bits/stdc++.h>
using namespace std;
const int mod = 998244353, inf = 0x3f3f3f3f;
const char sp = ' ', nl = '\n';
ifstream fin("secv.in");
ofstream fout("secv.out");

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0), cout.tie(0);
    int n;
    fin >> n;
    vector<int> v(n + 1), w;
    set<int> s;
    for (int i = 1; i <= n; ++i) {
        fin >> v[i];
        s.insert(v[i]);
    }
    for (auto& x : s) {
        w.push_back(x);
    }
    int ans = inf;
    for (int i = 1; i <= n; ++i) {
        int k = 0, len = 0;
        for (int j = i; j <= n && k < w.size(); ++j) {
            k += w[k] == v[j], len++;
        }
        if (k == w.size()) {
            ans = min(ans, len);
        }
    }
    fout << (ans == inf ? -1 : ans);
}