Pagini recente » Cod sursa (job #638650) | Cod sursa (job #1547972) | Cod sursa (job #1065187) | Cod sursa (job #270078) | Cod sursa (job #59656)
Cod sursa(job #59656)
#include<fstream.h>
#include<math.h>
ifstream f("secv.in");
ofstream g("secv.out");
long *a=new long[5001];
long *v=new long[5001];
long *cont=new long[5001];
long *a2=new long[5001];
long *v1=new long[5001];
long n,i,j,p,l,k,c,contor,contor2,ok,aux,dif;
int main()
{
f>>n;
c=1;
for(i=1;i<=n;i++)
{
f>>a[i];
a2[i]=a[i];
ok=0;
for(j=1;j<=c;j++)
if(v[j]==a[i])
{
ok=1;
break;
}
if(ok==0)
{
v[c]=a[i];
c++;
}
cont[i]=i;
}
for(i=1;i<=n;i++)
for(j=i+1;j<n;j++)
if(a[i]>a[j])
{
aux=a[i];
a[i]=a[j];
a[j]=aux;
aux=cont[i];
cont[i]=cont[j];
cont[j]=aux;
}
i=1;
while(a[i]==a[i+1])
{
contor++;
i++;
}
j=n;
while(a[j]==a[j-1])
{
contor2++;
j--;
}
contor++;
contor2++;
dif=n;
for(i=1;i<=contor;i++)
{
for(j=n;j>=n-contor2;j--)
{
if(abs(cont[i]-cont[j])<dif)
{
ok=0;
for(l=cont[i];l<=cont[j];l++)
{
for(p=1;p<=c;p++)
if(v[p]==a2[l] && v1[p]==0)
{
ok++;
v1[p]=1;
}
}
if(ok==c)
dif=abs(cont[i]-cont[j]);
for(p=1;p<=c;p++)
v1[p]=0;
}
}
}
g<<dif;
f.close();
g.close();
return 0;
}