Pagini recente » Cod sursa (job #3148334) | Cod sursa (job #1563580) | Cod sursa (job #3236557) | Cod sursa (job #812858) | Cod sursa (job #2882728)
#include <fstream>
#include <string>
#include <bitset>
#include <set>
#include <queue>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <vector>
#include <stack>
#include <bitset>
#include <stack>
#include <unordered_map>
#define MOD 666013
#define Nmax 5001
using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
typedef vector < pair < int, int > > VIP;
typedef vector < int > VI;
int n;
const int oo = 1 << 28;
int V[Nmax], A[Nmax];
int main() {
fin >> n;
for(int i = 1; i <= n; ++i){
fin >> V[i];
A[i] = V[i];
}
sort(A + 1, A + 1 + n);
int k = 1;
for(int i = 1; i <= n; ++i)
if(A[i] != A[k])
A[++k] = A[i];
int mini = oo;
for(int i = 1; i <= n; ++i)
if(V[i] == A[1]){
int l = 2;
for(int j = i + 1; j <= n; ++j){
if(V[j] == A[l])
l++;
if(l == k + 1){
mini = min(mini, j - i + 1);
break;
}
}
}
if(mini = oo)
fout << -1;
else
fout << mini;
return 0;
}