Pagini recente » Cod sursa (job #1223524) | Cod sursa (job #2743945) | Cod sursa (job #714625) | Cod sursa (job #304985) | Cod sursa (job #126375)
Cod sursa(job #126375)
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
long i, n, v[5010], a[5010], poz1, poz2, min, j, p, y[5010];
int cmp(const void *a, const void *b) {
return ( *(int *)a - *(int *)b );
}
int main() {
freopen("secv.in", "r", stdin);
freopen("secv.out", "w", stdout);
scanf("%ld", &n);
for (i = 1; i <= n; ++i) {
scanf("%ld", &v[i]);
y[i] = v[i];
}
qsort(v + 1, n, sizeof(v[0]), cmp);
v[0] = 2000000002;
for (i = 1; i <= n; ++i) {
if (v[i] != v[i - 1]) {
a[++a[0]] = v[i];
}
}
/*for (i = 1; i <= a[0]; ++i) {
printf("%ld ", a[i]);
}
printf("\n");*/
min = 2000000001;
for (i = 1; i <= n; ++i) {
if (y[i] == a[1]) {
p = 2;
poz1 = i;
for (j = i + 1; j <= n; ++j) {
if (y[j] == a[p]) {
++p;
}
if (p == a[0] + 1) {
poz2 = j;
}
}
if (poz2 - poz1 + 1 < min && p == a[0] + 1) {
min = poz2 - poz1 + 1;
}
}
}
printf("%ld\n", min);
return 0;
}