Cod sursa(job #2966026)

Utilizator DooMeDCristian Alexutan DooMeD Data 16 ianuarie 2023 17:51:47
Problema Secv Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <bits/stdc++.h>
using namespace std;
const int nmax = 5e3;

int v[nmax+5], nxt[nmax+5], last[nmax+5];

int main() {
    ifstream f("secv.in");
    ofstream g("secv.out");

    int n; f >> n;
    vector<int> vals;
    for(int i=1; i<=n; i++) {
        f >> v[i];
        vals.emplace_back(v[i]);
    }
    sort(vals.begin(), vals.end());
    vals.erase(unique(vals.begin(), vals.end()), vals.end());
    int ans = n+1; 
    for(int i=1; i<=n; i++) {
        int ind = 0;
        for(int j=i; j<=n; j++) {
            if(v[j] == vals[ind]) 
                ind++;
            if(ind == (int)vals.size()) {
                ans = min(ans, j - i + 1);
                break;
            }
        }
    }
    g << (ans == n+1 ? -1 : ans);
    return 0;
}