Pagini recente » Cod sursa (job #1892932) | Cod sursa (job #3133200) | Cod sursa (job #829591) | Cod sursa (job #3255222) | Cod sursa (job #47358)
Cod sursa(job #47358)
#include<fstream.h>
ifstream f("secv.in");
ofstream g("secv.out");
long i,j,n,m,k,p,gas,st,sf,min=2147483647,p1,p2,a[5000],b[5000];
int poz(int li,int ls)
{
int t=0,i,j,aux;
i=li;
j=ls;
while(i<j)
{
if(b[i]>b[j])
{
aux=b[i];
b[i]=b[j];
b[j]=aux;
t=1-t;
}
if(t)
j--;
else
i++;
}
return i;
}
void quick(int li,int ls)
{
int k;
if(li<ls)
{
k=poz(li,ls);
quick(li,k-1);
quick(k+1,ls);
}
}
int main()
{
f>>n;
for(i=1;i<=n;i++)
{
f>>a[i];
gas=0;
for(j=1;j<=m;j++)
if(b[j]==a[i])
{
gas=1;
break;
}
if(gas==0)
{
m++;
b[m]=a[i];
}
}
quick(1,m);
for(i=1;i<=n;i++)
if(a[i]==b[1])
{
st=i;
p=2;
for(j=i+1;j<=n;j++)
if(a[j]==b[p])
{
p++;
sf=j;
}
if(p-1==m&&sf-st+1<min)
{
p1=st;
p2=sf;
min=sf-st+1;
}
}
if (min!=2147483647)
g<<min;
else
g<<"0";
g<<'\n';
f.close();
g.close();
return 0;
}