Pagini recente » Cod sursa (job #2189731) | Cod sursa (job #2001620) | Cod sursa (job #333352) | Cod sursa (job #388412) | Cod sursa (job #1771236)
#include <bits/stdc++.h>
using namespace std;
int v[5005];
struct nr{
int x,poz;
}sorted[5005];
bool comp(nr x, nr y){
return x.x < y.x;
}
int main()
{
freopen("secv.in", "r", stdin);
freopen("secv.out", "w", stdout);
int i,j,d,n;
d = 0;
scanf("%d", &n);
for(i = 1;i <= n;i++){
scanf("%d", &sorted[i].x);
sorted[i].poz = i;
}
sort(sorted + 1,sorted + n + 1, comp);
sorted[0].x = -1;
for(i = 1;i <= n;i++){
if(sorted[i].x != sorted[i-1].x){
d++;
}
v[sorted[i].poz] = d;
}
int ans = 1e9;
int ax;
for(i = d;i <= n;i++){
if(v[i] == d){
ax = d-1;
for(j = i-1;j >= 1;j--){
if(v[j] == ax){
ax--;
}
if(ax == 0){
break;
}
}
if(ax == 0){
ans = min(ans, i-j+1);
}
}
}
printf("%d",ans);
return 0;
}