Cod sursa(job #3278570)

Utilizator Andrada_MincaAndrada Minca Andrada_Minca Data 20 februarie 2025 10:09:45
Problema Secv Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
//
//  main.cpp
//  secv
//
//  Created by Andrada Minca on 20.02.2025.
//

#include <bits/stdc++.h>
#include <map>
using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
int v[5005], n, lmin = 5005, maxx;
map<int, int> m;

int main()
{
    fin>>n;
    for(int i=1;i<=n;i++)
    {
        fin>>v[i];
        m[v[i]]=1;
    }
    int x=0;
    for (auto &p:m)
        p.second=++x;
    maxx=x;
    for (int i=1;i<=n;i++)
        v[i]=m[v[i]];
    for (int i=1;i<=n;i++)
    {
        if (v[i]==1)
        {
            int l=INT_MAX;
            x=1;
            for (int j=i;j<=n;j++)
            {
                if (v[j]==x)
                    x++;
                if (x==maxx+1)
                {
                    l=j-i+1;
                    break;
                }
            }
            lmin=min(lmin,l);
        }
    }
    lmin=(lmin==5005)?-1:lmin;
    fout<<lmin;

    return 0;
}