Pagini recente » Cod sursa (job #1959530) | Cod sursa (job #722097) | Cod sursa (job #1697572) | Cod sursa (job #902344) | Cod sursa (job #1604585)
#include <iostream>
#include <fstream>
#include <string.h>
#include <algorithm>
using namespace std;
const int nmax = 5002;
int v[nmax], a[nmax], b[nmax];
int n;
int main(){
freopen("secv.in", "r", stdin);
freopen("secv.out", "w", stdout);
scanf("%d", &n);
for (int i = 0; i < n; i++)
scanf("%d", &v[i]);
memcpy(a, v, 4*(n + 1));
memset(b, 0, sizeof(b));
sort(a, a+n);
int ind_b = 0;
b[0] = a[0];
for (int i = 1; i < n; i++)
if (b[ind_b] < a[i])
b[++ind_b] = a[i];
int minlenght = 1 << 20;
for (int s = 0; s < n - ind_b; s++){
if (v[s] == b[0]){
int next = 1;
for (int i = s + 1; i < n; i++) {
if (v[i] == b[next])
next++;
if (next > ind_b && i-s+1 < minlenght)
minlenght = i-s+1;
}
}
}
if (minlenght < (1 << 20))
printf("%d ", minlenght);
else printf("%d ", -1);
fclose(stdin);
fclose(stdout);
return 0;
}