Pagini recente » Cod sursa (job #1942865) | Cod sursa (job #1268715) | Cod sursa (job #2268952) | Cod sursa (job #672399) | Cod sursa (job #344737)
Cod sursa(job #344737)
#include <cstdio>
#include <algorithm>
using namespace std;
#define FIN "secv.in"
#define FOUT "secv.out"
#define N 5005
#define INF 2000000001
int n, v[N], s1[N], s[N], lmin = INF;
void read()
{
int i;
freopen(FIN,"r", stdin);
freopen(FOUT, "w", stdout);
scanf("%d", &n);
for (i = 1; i <= n; ++i)
scanf("%d", &v[i]), s1[i] = v[i];
}
void solve()
{
int i, j, l, b, e, k;
sort(s1 + 1, s1 + n + 1);
for (i = 1, l = 0; i <= n; ++i)
if (s1[i] != s1[i - 1])
s[++l] = s1[i];
for (i = 1; i <= n; ++i)
if (v[i] == s[1])
{
for (k = i + 1, j = 2, b = e = i; k <= n, j <= l; ++ k)
{
if (v[k] == s[j])
++j;
++e;
}
if (j = l)
lmin = min(lmin, e - b + 1);
}
if (lmin == INF)
lmin = -1;
}
int main()
{
read();
solve();
printf("%d\n", lmin);
}