Pagini recente » Cod sursa (job #1376166) | Cod sursa (job #2190641) | Cod sursa (job #1348542) | Cod sursa (job #1195897) | Cod sursa (job #2162025)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("secv.in");
ofstream out("secv.out");
int v[5004],nrdis[5004];
int subsir[5004];
int main()
{
int n,i,d=0,cnt=0,min=500000,p=0,j;
in>>n;
for(i=1;i<=n;i++)
{in>>v[i];
subsir[i]=v[i];
}
sort(v+1,v+n+1);
nrdis[0]=-4324;
for(i=1;i<=n;i++)
if(v[i]!=v[i-1])
{
d++;
nrdis[d]=v[i];
}
for(i=1;i<=n;i++)
v[i]=subsir[i];
if(d==1)
{
out<<1;
return 0;
}
for(i=1;i<=n-d+1;i++)
{
if(nrdis[1]==v[i])
{
p=1;
cnt=2;
subsir[p]=nrdis[1];
for(j=i+1;j<=n;j++)
{
p++;
subsir[p]=v[j];
if(subsir[p]==nrdis[cnt])
cnt++;
if(cnt==d+1)
{
if(min>j-i+1)
min=j-i+1;
break;
}
}
}
}
if(min==500000)
out<<-1;
else
out<<min;
return 0;
}