Pagini recente » Cod sursa (job #2730684) | Cod sursa (job #1346416) | Cod sursa (job #2032363) | Cod sursa (job #2397163) | Cod sursa (job #1142774)
#include <fstream>
#include <algorithm>
#define lmax 5001
#define maxim 10000000
using namespace std;
ifstream f("secv.in");
ofstream g("secv.out");
long long lungime=maxim,n,nr,i,j,ii;
long long v[lmax],vv[lmax],sol[lmax];
int main()
{
f>>n;
for (i=1;i<=n;i++)
{
f>>v[i];
vv[i]=v[i];
}
sort(vv+1,vv+n+1);
for (i=1;i<=n;i++)
if (vv[i]!=vv[i-1])
sol[++nr]=vv[i];
for (ii=1;ii<=n;ii++)
if (v[ii]==sol[1])
{
i=ii+1;
j=2;
while (i<=n && j<=nr)
{
if (v[i]==sol[j])
j++;
i++;
}
if (j==nr+1)
lungime=lungime<i-ii?lungime:i-ii;
}
if (lungime!=maxim)
g<<lungime;
else
g<<-1;
f.close();
g.close();
}