Pagini recente » Istoria paginii runda/pre003 | Cod sursa (job #942731) | Cod sursa (job #2774064) | Cod sursa (job #586490) | Cod sursa (job #1777887)
#include <fstream>
#include <algorithm>
#define nmax 5001
using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
int n,v[nmax],i,a[nmax],lgMin = 2000000,t[nmax],k,p,j;
int main()
{
fin >> n;
for (i = 1; i <= n; ++i)
{
fin >> a[i];
v[i] = a[i];
}
sort(v + 1, v + n + 1);
k=0;
t[++k]=v[1];
for (i=2;i<=n;++i)
if (v[i]!=t[k])
t[++k]=v[i];
for (i = 1; i <= n - k + 1; ++i)
if (a[i] == t[1])
{
p = 2;
for (j = i + 1; j <= n && p <= k; ++j)
if (a[j] == t[p])
p++;
if (p > k)
lgMin = min(lgMin, j - i);
}
if (lgMin == 2000000)
fout <<-1;
else
fout << lgMin;
return 0;
}