Cod sursa(job #2402875)

Utilizator cristia_razvanCristia Razvan cristia_razvan Data 11 aprilie 2019 09:05:07
Problema Secv Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin ("secv.in");
ofstream fout("secv.out");
int n ,  k;
int a[5001],b[5001];
int lung(int p)
{
    int i , j;
    i = p;
    j = 1;
    for(i=p;i<=n;i++)
    {
        if(a[i]==b[j]) j++;
        if(j > k)
            return i-p+1;
    }
    return n+1;
}
int main()
{
    int i , j ;
    fin >> n;
    for(i = 1; i <=n; i++)
    {
        fin >> a[i];
        b[i]=a[i];
    }
    int min1 = n+3;
    sort(b+1,b+n+1);
    k=1;
    for(i = 2; i <=n;i++)
        if(b[k]!=b[i])
            b[++k] = b[i];
    for(int i = 1; i<=n;i++)
        if(a[i] == b[1])
        {
            if(min1>lung(i))
                min1=lung(i);
        }
        if(min1==n+1)
        fout<<-1;
        else fout<<min1;
    fin.close();
    fout.close();
    return 0;
}