Pagini recente » Cod sursa (job #2266720) | Cod sursa (job #697132) | Cod sursa (job #700925) | Cod sursa (job #260675) | Cod sursa (job #461971)
Cod sursa(job #461971)
#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;}