Cod sursa(job #324683)
| Utilizator | Data | 16 iunie 2009 19:38:51 | |
|---|---|---|---|
| Problema | Secv | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 1.54 kb |
#include<stdio.h>
#include<algorithm>
using namespace std;
int i,j,n,k,nr, mini=10000,minj,poz;
long long a[5001],sor[5001],sub[5001];
int main()
{ freopen("secv.in","r",stdin);
freopen("secv.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++) { scanf("%lld",&a[i]);
sor[i]=a[i];
}
sort(sor+1,sor+n+1);
sor[0]=-1;
for(i=1;i<=n;i++) if(sor[i]!=sor[i-1]) sub[++k]=sor[i];
for(i=1;i<=n;i++) { nr=0;
if(a[i]==sub[1]) {
for(j=i,poz=0;j<=n&&nr<k;j++)
{ poz++;
if(a[j]==sub[nr+1]) nr++;
}
if(nr<k&&mini==10000) { printf("-1\n");
fclose(stdin);
fclose(stdout);
return 0;
}
else if(poz<mini&&nr==k){ mini=poz;
}
}
}
printf("%d\n",mini);
fclose(stdin);
fclose(stdout);
return 0;
}
