Pagini recente » Clasament drumarb2 | Cod sursa (job #1804823) | Rating Grosu Roxana Adelaida (green) | Cod sursa (job #222108) | Cod sursa (job #1728902)
#include <fstream>
#include <algorithm>
#include <unordered_map>
#define VAL 5005
using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
int N, i, K, mn;
int v[VAL], x[VAL];
int last[VAL];
int sir[VAL];
int f[VAL];
unordered_map<int, int> poz;
int main()
{
fin >> N;
for (i=1; i<=N; i++)
{
fin >> v[i];
x[++K]=v[i];
}
K=0;
sort(x+1, x+N+1);
for (i=1; i<=N; i++)
{
if (poz[x[i]]==0)
{
sir[++K]=x[i];
poz[x[i]]=K;
}
}
mn=N+1;
for (i=1; i<=N; i++)
{
last[poz[v[i]]]=i;
if (poz[v[i]]==1)
f[poz[v[i]]]=i;
else
f[poz[v[i]]]=f[poz[v[i]]-1];
if (poz[v[i]]==K)
mn=min(mn, i-f[K]+1);
}
if (mn==N+1)
mn=-1;
fout << mn << '\n';
fin.close();
fout.close();
return 0;
}