Pagini recente » Cod sursa (job #2736075) | Cod sursa (job #1718637) | Cod sursa (job #1926788) | Cod sursa (job #1151961) | Cod sursa (job #442497)
Cod sursa(job #442497)
#include <stdio.h>
#include <algorithm>
using namespace std;
#define NMax 5005
int N, S[NMax], v[NMax], lst[NMax], bst, D[NMax];
int main(void)
{
int i, h = 1;
freopen("secv.in", "r", stdin);
freopen("secv.out", "w", stdout);
scanf("%d", &N);
for (i = 1; i <= N; ++i)
{
scanf("%d", &v[i]);
lst[i] = v[i];
}
sort(lst+1, lst+N+1);
for (i = 2; i <= N; ++i)
if (lst[i] != lst[h])
lst[++h] = lst[i];
for (i = 1; i <= N; ++i)
v[i] = lower_bound(lst+1, lst+h+1, v[i])-lst;
bst = N;
for (i = 1; i <= N; ++i)
{
if ( v[i] == 1 ) S[v[i]] = i;
else S[v[i]]=S[v[i] - 1];
if (v[i]==h && S[v[i]] && bst > (i - S[v[i]] + 1 )) bst = i - S[v[i]] + 1;
}
printf("%d\n", bst);
return 0;
}