Cod sursa(job #3320305)

Utilizator alexiabortunBortun Alexia alexiabortun Data 4 noiembrie 2025 20:45:52
Problema Secv Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.14 kb
#include <fstream>
#include <unordered_map>
#include <algorithm>
using namespace std;

ifstream fin("secv.in");
ofstream fout("secv.out");
#define N 5001
int a[N], n, v[N], m;
unordered_map <int,int> M;
int main()
{
    fin >> n;
    for(int i = 1; i <= n; i++)
    {
        fin >> a[i];
        if(M.find(a[i]) == M.end())
        {
            M[a[i]] = 1;
            v[++m] = a[i];
        }
    }
    sort(v + 1, v + m + 1);
    int lgmin = N, lg = 0;
    for(int i = 1; i <= n; i++)
        if(a[i] == v[1])
        {
            bool ok = 1;
            int nr = 2, poz;
            for(int j = i + 1; j <= n && nr <= m; j++)
                if(a[j] == v[nr])
                {
                    nr++;
                    if(nr == m + 1)
                    {
                        poz = j;
                        break;
                    }
                }
            if(nr == m + 1)
            {
                lg = poz - i + 1;
                if(lg < lgmin)
                    lgmin = lg;
            }

        }
    if(lgmin != N)
        fout << lgmin;
    else fout << -1;
    return 0;
}