Pagini recente » Cod sursa (job #2197446) | Cod sursa (job #2874048) | Cod sursa (job #282197) | Cod sursa (job #1009167) | Cod sursa (job #782973)
Cod sursa(job #782973)
#include<stdio.h>
#include<algorithm>
using namespace std;
FILE *f=fopen("Secv.in","r"),*g=fopen("secv.out","w");
long int n,v[5005],a[5005];
void sorteaza(){
long int i,p=0;
sort(a+1,a+n+1);
a[0]=-1;
for(i=1; i<=n; i++){
if(a[i]!=a[i-1]){
p++;
a[p]=a[i];
}
}
a[0]=p;
}
void parcurgere(){
long int i,j,minimul,ok=0;
for(i=1; i<=n-a[0]+1; i++){
if(v[i]==a[1]){
int post=2;
for(j=i+1; j<=n && post<=a[0]; j++){
if(v[j]==a[post]){
post++;
}
}
if(post>a[0]){
ok=1;
minimul=min(minimul,j-i);
}
}
}
if(ok==0){fprintf(g,"-1");}
else{
fprintf(g,"%ld",minimul);
}
}
int main(){
fscanf(f,"%ld\n",&n);
for(int i=1; i<=n; i++){
fscanf(f,"%ld ",&v[i]);
a[i]=v[i];
}
sorteaza();
parcurgere();
return 0;
}