Pagini recente » Cod sursa (job #3323526) | Cod sursa (job #1541014) | Cod sursa (job #2209865) | Cod sursa (job #3243090) | Cod sursa (job #3320303)
#include <fstream>
#include <unordered_map>
#include <algorithm>
using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
#define N 5001
int a[N], n, v[N], m;
unordered_map <int,int> M;
int main()
{
fin >> n;
for(int i = 1; i <= n; i++)
{
fin >> a[i];
if(M.find(a[i]) == M.end())
{
M[a[i]] = 1;
v[++m] = a[i];
}
}
sort(v + 1, v + m + 1);
int lgmin = N, lg = 0;
for(int i = 1; i <= n; i++)
if(a[i] == v[1])
{
bool ok = 1;
int nr = 2, poz;
for(int j = i + 1; j <= n && nr <= m; j++)
if(a[j] == v[nr])
{
nr++;
if(nr == m)
poz = j;
}
if(nr == m + 1)
{
lg = poz - i + 1;
if(lg < lgmin)
lgmin = lg;
}
}
if(lgmin != N)
fout << lgmin;
else fout << -1;
return 0;
}