Pagini recente » Cod sursa (job #3189853) | Cod sursa (job #2709413) | Cod sursa (job #37933) | Cod sursa (job #652167) | Cod sursa (job #1073702)
#include <stdio.h>
#include <algorithm>
using namespace std;
bool sw;
int n, i, j, k=1, len, MIN=0x3f3f3f3f;
int v[5001], vs[5001], vt[5001];
int p;
int main()
{
FILE *in,*out;
in=fopen("secv.in", "rt");
fscanf(in,"%d",&n);
for(i=1;i<=n;++i)
{
fscanf(in,"%d",&v[i]);
vs[i]=v[i];
}
fclose(in);
if(n==1)
{
out=fopen("secv.out","wt");
fprintf(out,"1\n");
fclose(out);
}
else
{
sort(vs+1, vs+n+1);
vt[1]=vs[1];
for(i=2; i<=n; ++i)
if(vs[i]!=vt[k])
vt[++k]=vs[i];
for(i=1;i<=n;++i)
if(v[i]==vt[1])
{
len=1;
p=2;
for(j=i+1;j<=n;++j)
{
++len;
if(v[j]==vt[p])
++p;
if(p==k+1)
{
if(len<MIN)
MIN=len, sw=1;
break;
}
}
}
out=fopen("secv.out", "wt");
if(sw)
fprintf(out,"%d\n", MIN);
else
fprintf(out,"-1\n");
fclose(out);
}
return 0;
}
//