Cod sursa(job #902544)

Utilizator otto1Palaga Vicentiu-Octavian otto1 Data 1 martie 2013 14:53:07
Problema Secv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<stdio.h>
#include<algorithm>
using namespace std;
int a[5005],s[5005],f[5005];
int main()
{
    freopen("secv.in","r",stdin);
    freopen("secv.out","w",stdout);
    int start,end,search,n,i,k,lmin;
    scanf("%d",&n);lmin=n+1;
    for(i=1;i<=n;i++)
        scanf("%d",&a[i]),s[i]=a[i];
    sort(s+1,s+n+1);
    f[1]=s[1];k=1;
    for(i=2;i<=n;i++)
        if(s[i]!=s[i-1])
            f[++k]=s[i];
    for(start=1;start<=n;start++)
    {
        search=1;end=start;
        while(end<=n && search<=k)
        {
            if(f[search]==a[end])
                search++;
            end++;
        }
        if(search==k+1)
            lmin=min(lmin,end-start);
    }
    printf("%d\n",lmin<=n?lmin:-1);
    return 0;
}