Pagini recente » Cod sursa (job #285646) | Cod sursa (job #2615130) | Cod sursa (job #101181) | Cod sursa (job #961219) | Cod sursa (job #2657853)
#include <bits/stdc++.h>
using namespace std;
#define STOP fout.close(); exit(EXIT_SUCCESS);
ifstream fin("secv.in");
ofstream fout("secv.out");
///***********************
const int NMAX = 5e3 + 3;
int n, v[NMAX], uniq[NMAX], k, ans = NMAX;
void read() {
fin >> n;
for (int i = 1; i <= n; i++)
fin >> v[i];
}
void makeUniq() {
k = 1;
uniq[1] = v[1];
for (int i = 2; i <= n; i++)
if (v[i] != v[i - 1])
uniq[++k] = v[i];
}
void solve() {
for (int i = 1; i <= n; i++) {
for (int j = i, p = 1; j <= n; j++) {
if (uniq[p] == v[j])
p++;
if (p == k + 1) {
ans = min(ans, j - i + 1);
break;
}
}
}
}
int main() {
read();
sort(v + 1, v + n + 1);
makeUniq();
solve();
fout << ((ans == NMAX) ? -1 : ans) << endl;
STOP
}