Cod sursa(job #461971)

Utilizator zloteanu.adrianzloteanu adrian nichita zloteanu.adrian Data 9 iunie 2010 14:39:58
Problema Secv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<fstream.h>
inline int min(int a, int b)
{return  a>b ? b:a;}
int main()
{int  unic[5001],sir[5001],sir2[5001];
short n,i,k=0,sz,rasp=5001,j;
ifstream q("secv.in");
ofstream w("secv.out");
q>>n;
if(!n)
 {w<<"0\n";
 return 0;}
for(i=0;i!=n;++i)
  {q>>sir[i];
  sir2[i] = sir[i];}
std::sort(sir2, sir2 + n);
k=0;
unic[k++]=sir2[0];
n--;
for(i=0;i!=n;++i)
  if(sir2[i]!=sir2[i+1])
   unic[k++]=sir2[i+1];
n++;
sz=k;
for(i=0;i!=n;++i)
  if(sir[i]==unic[k=0])
   {for(j=i+1,k=1;j!=n&&k!=sz;++j)
      if(sir[j]==unic[k])
       k++;
   if(k==sz)
    rasp=min(rasp,j-i);}
if(rasp==5001)
 rasp=-1;
w<<rasp;
return 0;}