Pagini recente » Cod sursa (job #97314) | Cod sursa (job #1291949) | Cod sursa (job #633749) | Cod sursa (job #993987) | Cod sursa (job #240531)
Cod sursa(job #240531)
#include <cstdio>
#include <algorithm>
using namespace std;
#define MAX_N 5005
#define INF 0x3f3f3f
int V[MAX_N], A[MAX_N], B[MAX_N];
int N, Rez = INF;
void citire()
{
scanf("%d",&N);
for(int i = 1; i <= N; ++i)
{
scanf("%d",V+i);
A[i] = V[i];
}
}
void solve()
{
sort(A+1, A+N+1);
A[0] = -1;
int Nr = 0;
for(int i = 1; i <= N; ++i)
if(A[i] != A[i-1])
B[++Nr] = A[i];
for(int i = 1; i <= N; ++i)
{
if(V[i] != B[1]) continue;
int j, k = 2;
for(j = i + 1; j <= N+1; ++j)
{
if(k == Nr+1)
{
Rez = min(Rez, j - i);
break;
}
if(V[j] == B[k])
++k;
}
}
if(Rez == INF)
Rez = -1;
printf("%d\n",Rez);
}
int main()
{
freopen("secv.in","rt",stdin);
freopen("secv.out","wt",stdout);
citire();
solve();
}