Pagini recente » Cod sursa (job #1297169) | Cod sursa (job #1719475) | Cod sursa (job #2689956) | Cod sursa (job #2956111) | Cod sursa (job #72237)
Cod sursa(job #72237)
#include<fstream.h>
long a[5005],n,b[5005],c[5004],nr=1;
void citire(){
ifstream fin("secv.in");
fin>>n;
for (int i=0;i<n;i++){
fin>>a[i];
c[i]=a[i];}
fin.close();
}
void bule (int p){
short ok=0;
while (ok==0){
ok=1;
p--;
for (int i=0;i<p;i++)
if (c[i]>c[i+1]){
long aux=c[i];
c[i]=c[i+1];
c[i+1]=aux;
ok=0;}}}
void form_sir(){
b[0]=c[0];
for (int i=1;i<n;i++)
if (c[i]>b[nr-1])
b[nr++]=c[i];
}
long minim(){
long min3=10000;
long t=0;
for (int i=0;i<n-nr+1;i++){
long u=0,j=i;
while (j<n&&u<nr){
if (a[j]==b[u])
u++;
j++;}
if (u==nr) {
for (int qqq=i;qqq<n;qqq++)
if (a[qqq]==b[0]) {
t=qqq;
break;
}
if (min3>j-t)
min3=j-t;} }
if (min3==10000)
return -1;
return min3;
}
int main(){
ofstream fout("secv.out");
citire();
bule(n);
form_sir();
fout<<minim();
fout<<"\n";
fout.close();
return 0;
}