Cod sursa(job #2544941)

Utilizator tomaionutIDorando tomaionut Data 12 februarie 2020 18:18:29
Problema Secv Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>
#define INF 1e9
using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
int n,a[5005],b[5005],mi=INT_MAX,k;
int secv(int x)
{
    int i,cnt=2;
    for (i=x+1; i<=n; i++)
    {
        if (a[i]==b[cnt])
            cnt++;
        if (cnt==k+1)
            return i-x+1;
    }
    return INF;
}
int main()
{
    int i,x;
    fin >> n;
    for (i=1; i<=n; i++)
    {
        fin >> a[i];
        b[i]=a[i];
    }

    sort(b+1,b+n+1);
    k=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=secv(i);
        mi=min(mi,x);
    }
    if (mi!=INF)
    fout << mi;
    else fout << -1;

    return 0;
}