Pagini recente » Cod sursa (job #1881706) | Cod sursa (job #2723759) | Cod sursa (job #1605712) | Cod sursa (job #977542) | Cod sursa (job #1728912)
#include <fstream>
#include <algorithm>
#include <unordered_map>
#define VAL 5005
#define INF 1000000
using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
int N, i, K;
int v[VAL], x[VAL];
int f[VAL], mn;
unordered_map<int, int> poz;
int main()
{
fin >> N;
for (i=1; i<=N; i++)
{
fin >> v[i];
x[i]=v[i];
}
sort(x+1, x+N+1);
for (i=1; i<=N; i++)
if (poz[x[i]]==0)
poz[x[i]]=++K;
mn=INF;
for (i=1; i<=N; 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==INF)
mn=-1;
fout << mn << '\n';
fin.close();
fout.close();
return 0;
}