Pagini recente » Cod sursa (job #2169464) | Cod sursa (job #587151) | Cod sursa (job #1863068) | Cod sursa (job #985136) | Cod sursa (job #1402883)
#include <algorithm>
#include <fstream>
using namespace std;
ifstream in("secv.in");
ofstream out("secv.out");
const int NMAX = 5000;
const int INF = 100000000;
int v[NMAX+2], a[NMAX+2], r[NMAX+2];
int N, Ans = (1<<30);
int main() {
in >> N;
for( int i = 1; i <= N; ++i ) {
in >> v[i];
a[i] = v[i];
}
sort( a+1, a+N+1 );
int k = 0;
for( int i = 1; i <= N; ++i ) {
if( a[i] != a[i-1] ) r[++k] = a[i];
}
for( int i = 1; i <= N; ++i ) {
if( v[i] == r[1] ) {
int ind = 2, j = i+1;
while( ind <= k && j <= N ) {
if( v[j] == r[ind] ) {
++ind;
}
if( ind == k + 1 ) {
Ans = min( Ans, j-i+1 );
break;
}
++j;
}
}
}
if( Ans == (1<<30) ) {
out << "-1\n";
}
else {
out << Ans << '\n';
}
return 0;
}