Pagini recente » Cod sursa (job #247093) | Cod sursa (job #2005543) | Cod sursa (job #1659129) | Cod sursa (job #2903466) | Cod sursa (job #1585325)
#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 = 1;
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 10000;
}
int main() {
in >> n;
for(int i = 0; i < n; i++) {
in >> nr[i];
nr2[i] = nr[i];
}
if(n == 1) {
out << 1;
return 0;
}
sort(nr2, nr2+n);
nr3[0] = nr2[0];
for(int i = 1; i < n; i++)
if(nr2[i] != nr2[i-1])
nr3[k++] = nr2[i];
int secv;
int minA = 10000;
for(int i = 0; i < n-k+1; i++) {
secv = check(i);
if(secv < minA)
minA = secv;
}
if(minA == 10000)
out << "-1";
else
out << minA;
return 0;
}