Cod sursa(job #167380)

Utilizator rethosPaicu Alexandru rethos Data 29 martie 2008 15:35:06
Problema Secv Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <stdio.h>
#include <stdlib.h>
#define NM 5001
int n,x[NM],m,c[NM];
int cmp(const void *i,const void *j)
{return *(int*)i-*(int*)j;
}
int main()
{freopen("secv.in","r",stdin);
 freopen("secv.out","w",stdout);
 scanf("%d",&n);
 int i,j,p,u=NM+1;
 for (i=1;i<=n;i++)
    {scanf("%d",&x[i]);
     for (j=1;j<=m;j++)  if (c[j]==x[i]) break;
     if (j>m) c[++m]=x[i];
    }
 qsort(c,m,sizeof(int),cmp);
 j=1;
 for (i=1;i<=n;i++)
    {if(x[i]==c[j])
     	{if (j==1) p=i;
         if (j==m) {u=i;break;}
         j++;
        }
    }
 if (u==NM+1) printf("-1");
 	else printf("%d",u-p+1);
 return 0;
}