Pagini recente » Cod sursa (job #1445713) | Rating Nedelcu Georgiana Daniela (georgiana.nedelcu) | Cod sursa (job #237446) | Cod sursa (job #2827190) | Cod sursa (job #2650197)
#include <fstream>
#include <algorithm>
using namespace std;
const int NMAX = 5000;
int v[1 + NMAX];
int c[1 + NMAX];
int main()
{
ifstream in("secv.in");
ofstream out("secv.out");
int minim = NMAX + 1;
int n;
in >> n;
for (int i = 1; i <= n; i++)
{
in >> v[i];
c[i] = v[i];
}
sort(c + 1, c + 1 + n);
int lsir = 1;
for (int i = 2; i <= n; i++)
{
if (c[i] != c[i - 1])
{
lsir++;
c[lsir] = c[i];
}
}
for (int i = 1; i <= n; i++)
{
if (v[i] == c[1])
{
int st = i;
int dr = i;
int index = 1;
for (int j = i + 1; j <= n && index < lsir; j++)
{
if (v[j] == c[index + 1])
{
index++;
dr = j;
}
}
if (index == lsir)
{
minim = min(minim, dr - st + 1);
}
}
}
if (minim != NMAX + 1)
{
out << minim;
}
else
{
out << -1;
}
return 0;
}