Cod sursa(job #973141)

Utilizator thewildnathNathan Wildenberg thewildnath Data 13 iulie 2013 15:57:28
Problema Secv Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<stdio.h>
int v[5010],aux[5010];
int main()
{
    freopen("secv.in","r",stdin);
    freopen("secv.out","w",stdout);
    int n,i,j,x=0,nr=0,poz,l,min=5010;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d",&v[i]);
        if(v[i]>nr)
            nr=v[i];
        if(v[i]==1)
            aux[++x]=i;
    }
    for(j=1;j<=x;j++)
    {
        poz=1;
        i=aux[j]+1;
        l=1;
        while(poz<nr&&i<=n)
        {
            if(v[i]==poz)
                break;
            if(v[i]==poz+1)
                poz++;
            l++;
            i++;
        }
        if(poz==nr&&l<min)
            min=l;
    }
    if(min==5010)
        min=-1;
    printf("%d\n",min);
}