Cod sursa(job #973141)
| Utilizator | 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);
}
