Pagini recente » Cod sursa (job #594898) | Cod sursa (job #2155550) | Cod sursa (job #2147493) | Cod sursa (job #2196016) | Cod sursa (job #192144)
Cod sursa(job #192144)
#include <cstdio>
#include <algorithm>
int main()
{
unsigned int sir[5001] = {}, sir2[5001] = {}, cmp, unic[5001];
unsigned short n, i, k = 1, j, q;
short rasp = 5001;
FILE *f1, *f2;
f1 = fopen("secv.in", "r");
f2 = fopen("secv.out", "w");
fscanf(f1, "%hd", &n);
for (i = 1; i <= n; ++i) {
fscanf(f1, "%u ", &sir[i]);
sir2[i] = sir[i];
}
std::sort(sir2 + 1, sir2 + n);
cmp = sir2[1];
unic[k++] = cmp;
for (i = 2; i <= n; ++i)
if (sir2[i] != cmp) {
cmp = sir2[i];
unic[k++] = cmp;
}
for (i = 1; i <= n; ++i) {
q = 1;
if (sir[i] == unic[q++]) {
for (j = i + 1; j <= n; ++j)
if (sir[j] == unic[q]) {
if (q == k - 1) {
rasp = rasp < j - i + 1 ? rasp : j - i + 1;
break;
}
++q;
}
}
}
if (rasp == 5001) rasp = -1;
fprintf(f2, "%d\n", rasp);
fclose(f1);
fclose(f2);
return 0;
}