Cod sursa(job #2134384)

Utilizator alexilasiAlex Ilasi alexilasi Data 17 februarie 2018 21:34:33
Problema Secv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("secv.in");
ofstream fout("secv.out");

int v[5001],no[5001],d[5001];

int n,lg,Min=5001,i,k,j;

int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>v[i];
        no[i]=v[i];
    }
    sort(no+1,no+n+1);
    no[0]=-1;
    for(i=1;i<=n;i++)
        if(no[i]!=no[i-1])
            no[++k]=no[i];
    for(i=1;i<=n;i++)
        if(v[i]==no[1])
        {
            lg=1;
            for(j=i+1; j<=n; j++)
            {
                if(v[j]==no[lg+1])
                    lg++;
                if(lg==k)
                    if(j-i+1<Min)
                    {
                        Min=j-i+1;
                        break;
                    }
            }
        }
    if(k==1)
        fout<<1<<' ';
    else if(Min==5001)
        fout<<-1<<'\n';
    else
        fout<<Min<<'\n';
    return 0;
}