Cod sursa(job #2402882)

Utilizator tomaionutIDorando tomaionut Data 11 aprilie 2019 09:07:24
Problema Secv Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <bits/stdc++.h>
#define N 5001
using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
int a[5005],n;
int b[5005],k;
int vasile(int p)
{
    int q,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;
}
int main()
{
    int i,j,x,mi=INT_MAX;
    k=1;
    fin >> n;
    for (i=1; i<=n; i++)
    {
        fin >> a[i];
        b[i]=a[i];
    }
    sort (b+1, b+n+1);
    for (i=2; i<=n; i++)
        {
            if (b[k]!=b[i])
                b[++k]=b[i];
        }
    for (i=1; i<=n; i++)
    {
        if (a[i]==b[1])
        {
            x=vasile(i);
                mi=min(mi,x);
        }
    }
    if (mi==N)
        fout << -1;
    else
    fout << mi << "\n";


    return 0;
}