Cod sursa(job #1142709)

Utilizator chiriacandrei25Chiriac Andrei chiriacandrei25 Data 14 martie 2014 08:47:41
Problema Secv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <cstdio>
#include <algorithm>
#define Nmax 5005
#define INF 2000000000

using namespace std;

int a[Nmax],b[Nmax],N,sol=INF;

int main()
{
    int i,j,K,ind;
    freopen ("secv.in","r",stdin);
    freopen ("secv.out","w",stdout);
    scanf("%d", &N);
    for(i=1;i<=N;++i)
    {
        scanf("%d", &a[i]);
        b[i]=a[i];
    }
    sort(b+1,b+N+1);
    K=1;
    for(i=2;i<=N;++i)
        if(b[i]!=b[i-1])
            b[++K]=b[i];
    for(i=1;i<=N;++i)
    {
        ind=1; j=i;
        while(j<=N)
        {
            if(a[j]==b[ind])
                ++ind;
            if(ind==K+1)
            {
                sol=min(sol,j-i+1);
                break;
            }
            ++j;
        }
    }
    if(sol==INF)
        printf("-1\n");
    else
        printf("%d\n", sol);
    return 0;
}