Pagini recente » Cod sursa (job #2524850) | Cod sursa (job #199396) | Cod sursa (job #208870) | Cod sursa (job #1645470) | Cod sursa (job #1138184)
#include <fstream>
#include <iostream>
#include <algorithm>
#include <vector>
#include <map>
using namespace std;
ifstream fin ("secv.in");
ofstream fout ("secv.out");
map <int, bool> M;
const int N = 5005;
vector <int> subs;
int v[N], n, sol = 2e9;
int main() {
fin >> n;
for (int i = 0; i < n; ++i) {
fin >> v[i];
M[v[i]] = 1;
}
for (map <int, bool> :: iterator it = M.begin(); it != M.end(); ++it)
subs.push_back (it->first);
sort (subs.begin(), subs.end());
for (int i = 0; i < n; ++i)
if (v[i] == subs[0]) {
int k = 1, j = i + 1;
for (; k < subs.size() && j < n; ++j)
if (subs[k] == v[j])
k++;
if (k == subs.size())
sol = min(sol, j - i);
}
if (sol == 2e9)
fout << -1;
else
fout << sol;
}