Pagini recente » Cod sursa (job #1005645) | Cod sursa (job #826311) | Cod sursa (job #2374782) | Cod sursa (job #369168) | Cod sursa (job #93765)
Cod sursa(job #93765)
using namespace std;
#include <cstdio>
#include <set>
#define un unsigned
un int a[5001], n;
un int x[5001], nx;
void read()
{
freopen("secv.in","r",stdin);
scanf("%d\n", &n);
for(un int i=1;i<=n;++i) scanf("%d ", a+i);
set<un int>Q;
for(un int i=1;i<=n;++i) Q.insert(a[i]);
for(set<un int>::iterator it=Q.begin();it!=Q.end();++it) x[++nx]=*it;
}
void solve()
{
un int i, j, nmin=0x3f3f3f3f;
un int p;
for(i=1;i<=n;++i)
if(a[i]==x[1])
{
p=2;
for(j=i+1;j<=n;++j)
if(a[j]==x[p])
{
++p;
if(p>nx) break;
}
if(nmin>j-i && p==nx+1){nmin=j-i;}
}
freopen("secv.out","w",stdout);
if(nmin==0x3f3f3f3f) nmin=-1;
printf("%d\n", nmin+1);
}
int main()
{
read();
solve();
return 0;
}