Cod sursa(job #1847555)

Utilizator catrinescualexcatrinescualex catrinescualex Data 14 ianuarie 2017 18:38:55
Problema Secv Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <cstdio>
#include <algorithm>

using namespace std;
int v[5005],a[5005],b[5005];
int main(){
	freopen("secv.in","r",stdin);
	freopen("secv.out","w",stdout);
    int n,i,j,min=5005,k,c;
	scanf("%d",&n);
	for(i=1;i<=n;i++){
		scanf("%d",&v[i]);
		a[i]=v[i];
	}
	sort(a+1,a+n+1);
	i=j=1;
	while(i<=n){
		b[j]=a[i];
		j++;
		while(a[i]==a[i+1] && i<=n)
			i++;
		i++;
	}
	for(i=1;i<=n;i++)
		a[i]=b[v[i]];
	for(i=1;i<=n;i++){
		if(a[i]==1){
			k=2;
			for(c=i+1;c<=n;c++){
				if(a[c]==k)
					k++;
			}
			if(k==j)
				if(min>c-i)
					min=c-i;
		}
	}
	printf("%d",min);
    return 0;
}