Cod sursa(job #3288207)

Utilizator mihail_11Ionescu Mihail mihail_11 Data 20 martie 2025 20:46:53
Problema Secv Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
pair<int,int> t[5005];
int v[5005];
int main()
{
    int i,n,val,nr=0,lg,minlen,j;
    bool cond;
    fin>>n;
    minlen=n+1;
    for(i=1;i<=n;++i)
    {
        fin>>val;
        t[i]={val,i};
    }
    sort(t+1,t+n+1);
    t[0].first=-1;
    for(i=1;i<=n;++i)
    {
        if(t[i].first>t[i-1].first)
        {
            ++nr;
        }
        v[t[i].second]=nr;
    }
    for(i=1;i<=n;++i)
    {
        if(v[i]==1)
        {
            lg=2;
            for(j=i+1;j<=n;++j)
            {
                if(v[j]==lg)
                    ++lg;
                if(lg==nr+1)
                {
                    minlen=min(minlen,j-i+1);
                    break;
                }
                if(v[j]==1 && lg==2)
                    i=j;
            }
        }
    }
    if(minlen==n+1)
    {
        fout<<-1;
        return 0;
    }
    fout<<minlen;
    return 0;
}