Pagini recente » Cod sursa (job #813878) | Cod sursa (job #2097738) | Cod sursa (job #2493715) | Cod sursa (job #1377675) | Cod sursa (job #2305611)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("secv.in");
ofstream fout ("secv.out");
const int NMAX = 5003;
int n, k, ans = NMAX, p1, p2;
int v [NMAX], aux [NMAX], u [NMAX];
void unix (){
sort (aux + 1, aux + n + 1);
u [++ k] = aux [1];
for (int i = 2; i <= n; i ++)
if (aux [i - 1] != aux [i])
u [++ k] = aux [i];
}
int main (){
fin >> n;
for (int i = 1; i <= n; i ++)
fin >> v [i], aux [i] = v[i];
unix ();
for (int i = 1; i <= n; i ++){
p2 = i, p1 = 1;
while (p2 <= n && p1 <= k){
if (v [p2] == u [p1])p1 ++;
p2 ++;
}
if (p2 < n + 1 || p1 > k)
ans = min (ans, p2 - i);
}
if (ans != NMAX)fout << ans;
else fout << -1;
return 0;
}