Pagini recente » Cod sursa (job #2064524) | Cod sursa (job #204915) | Cod sursa (job #2168199) | Cod sursa (job #1486620) | Cod sursa (job #1585222)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("secv.in");
ofstream out("secv.out");
long nr[5001];
long nr2[5001];
long nr3[5001];
int n;
int k;
int check(int m) {
int z = 0;
for(int i = m; i < n; i++) {
if(nr[i] == nr3[z]) {
z++;
}
if(z == k) {
return i-m+1;
}
}
return 5003;
}
int main() {
in >> n;
long maxNr = 0;
for(int i = 0; i < n; i++) {
in >> nr[i];
if(nr[i] > maxNr)
maxNr = nr[i];
}
if(n == 1) {
out << 1;
return 0;
}
for(int i = 0; i < n; i++)
nr2[i] = nr[i];
sort(nr2, nr2+n);
for(int i = 0; i < n; i++)
if(nr2[i] != nr2[i-1])
nr3[k++] = nr2[i];
int secv;
int minA = 5003;
for(int i = 0; i < n; i++) {
if(nr[i] == nr3[0]) {
secv = check(i);
if(secv < minA) {
minA = secv;
}
}
}
if(minA == 5003)
out << "-1";
else
out << minA;
return 0;
}