Pagini recente » Cod sursa (job #375035) | Cod sursa (job #919783) | Cod sursa (job #884144) | Cod sursa (job #1484162) | Cod sursa (job #1478124)
#include <bits/stdc++.h>
using namespace std;
int a[5005], b[5005], t[5005], n, lgMin;
int main()
{
int i, k, p, j;
///citire
ifstream fin("secv.in");
fin >> n;
for (i = 1; i <= n; ++i)
{
fin >> a[i];
b[i] = a[i];
}
fin.close();
sort(b + 1, b + n + 1);
k = 0;
t[++k] = b[1];
for (i = 2; i <= n; ++i)
if (b[i] != t[k]) t[++k] = b[i];
//for (i = 1; i <= k; ++i)
// cout << t[i] << " ";
/// solve
lgMin = 2000000;
for (i = 1; i <= n - k + 1; ++i)
if (a[i] == t[1])
{
p = 2;
for (j = i + 1; j <= n && p <= k; ++j)
if (a[j] == t[p]) p++;
if (p > k) lgMin = min(lgMin, j - i);
}
ofstream fout("secv.out");
if (lgMin == 2000000) fout << "-1\n";
else fout << lgMin << "\n";
fout.close();
return 0;
}