Pagini recente » Cod sursa (job #2369002) | Cod sursa (job #2668024) | Cod sursa (job #101451) | Cod sursa (job #1811826) | Cod sursa (job #2221577)
#include<cstdio>
#include<set>
#define MAX_N 5000
using namespace std;
int v[MAX_N+1], a[MAX_N+1], n, m;
set<int>s;
int main() {
int i, j, l, lmin, k;
set<int>::iterator it;
FILE* fin, *fout;
fin = fopen("secv.in","r");
fout = fopen("secv.out","w");
fscanf(fin,"%d",&n);
for(i = 1; i <= n; i++) {
fscanf(fin,"%d",&v[i]);
s.insert(v[i]);
}
for(it = s.begin(); it != s.end(); it++)
a[++m] = *it;
lmin = n + 1;
for(i = 1; i <= n; i++) {
k = i;
j = 1;
l = n + 2;
while(j <= m && k <= n) {
if(v[k] == a[j]) {
k++;
j++;
}
else k++;
}
if(j > m)
l = k - i;
if(l < lmin)
lmin = l;
}
if(lmin == n + 1)
fprintf(fout,"-1\n");
else fprintf(fout,"%d\n",lmin);
fclose(fin);
fclose(fout);
return 0;
}