Pagini recente » Cod sursa (job #2641486) | Cod sursa (job #922089) | Cod sursa (job #209299) | Cod sursa (job #2558384) | Cod sursa (job #238132)
Cod sursa(job #238132)
#include<fstream.h>
long a[5002],o[5002],c[5002],poz[5002],aux;
int sw,n,k,lmin;
void pozitie(int i,int inc)
{int j;
if(i==k+1&&poz[k]-poz[1]+1<lmin)
lmin=poz[k]-poz[1]+1;
else
for(j=inc;j<=n;j++)
if(a[j]==c[i])
{
poz[i]=j;
pozitie(i+1,j+1);
}
}
int main()
{
int i;
ifstream fin("secv.in");
fin>>n;
for(i=1;i<=n;i++)
{
fin>>a[i];
o[i]=a[i];
}
fin.close();
do
{
sw=1;
for(i=1;i<n;i++)
if(o[i]>o[i+1])
{
aux=o[i];
o[i]=o[i+1];
o[i+1]=aux;
sw=0;
}
}while(sw==0);
k=1;
c[1]=o[1];
i=2;
while(i<=n)
{
while(o[i]==o[i-1]&&i<=n)
i++;
k++;
c[k]=o[i];
i++;
}
lmin=5000;
pozitie(1,1);
ofstream fout("secv.out");
if(n==0)
fout<<0<<'\n';
else
fout<<lmin<<'\n';
fout.close();
return 0;
}