Pagini recente » Cod sursa (job #992324) | Cod sursa (job #1748165) | Cod sursa (job #645418) | Cod sursa (job #1789639) | Cod sursa (job #882803)
Cod sursa(job #882803)
#include <stdio.h>
long n, nr, min;
long s[5001];
int main() {
long i, j, k;
freopen("secv.in", "r", stdin);
freopen("secv.out", "w", stdout);
scanf("%ld", &n);
for(i = 1; i <= n; i++)
scanf("%ld", &s[i]);
nr = 0;
while(true) {
for(i = 1; i <= n; i++)
if(s[i] >= nr)
break;
if(i == n + 1)
break;
min = s[i];
for(i++; i <= n; i++)
if(s[i] < min && s[i] >= nr)
min = s[i];
for(i = 1; i <= n; i++)
if(s[i] == min)
s[i] = nr;
nr++;
}
i = 1;
min = n + 1;
while(true) {
while(s[i] != 0 && i <= n)
i++;
if(i == n + 1)
break;
j = i + 1;
for(k = 1; k < nr; k++) {
while(s[j] != k && j <= n)
j++;
if(j > n)
break;
}
if(k != nr)
break;
if(j - i + 1 < min)
min = j - i + 1;
i++;
}
printf("%ld\n", min);
return 0;
}