Pagini recente » Cod sursa (job #3193380) | Cod sursa (job #2664182) | Cod sursa (job #2248783) | Cod sursa (job #1757505) | Cod sursa (job #783264)
Cod sursa(job #783264)
#include<stdio.h>
#include<algorithm>
#include<limits.h>
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=LONG_MAX;
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]){
minimul=min(minimul,j-i);
}
}
}
if(minimul==LONG_MAX){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;
}