Pagini recente » Cod sursa (job #2713388) | Cod sursa (job #1051647) | Cod sursa (job #2545067) | Cod sursa (job #3136733) | Cod sursa (job #1548989)
#include <fstream>
#include <set>
using namespace std;
const int NMAX = 5000;
set <int> s;
int v[NMAX];
int nr[NMAX];
int n, i, j, k, l, m, o;
int minim = 10000;
int f(int x);
int main() {
ifstream in("secv.in");
in >> n;
for (i = 0; i < n; i++) {
in >> nr[i];
s.insert(nr[i]);
}
k = 0;
for (auto i : s) {
v[k++] = i;
}
for (i = 0; i < n; i++) {
if (nr[i] == v[0]) {
o = f(i);
if (o < minim)
minim = o;
}
}
in.close();
ofstream out("secv.out");
if (minim == 10000)
out << -1;
else
out << minim;
out.close();
return 0;
}
int f(int x) {
l = 0;
for (m = x; m < n; m++) {
if (nr[m] == v[l])
l++;
if (l == k)
return m - x + 1;
}
return 10000000;
}