Mai intai trebuie sa te autentifici.
Cod sursa(job #93764)
Utilizator | Data | 20 octombrie 2007 09:16:46 | |
---|---|---|---|
Problema | Secv | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.69 kb |
using namespace std;
#include <cstdio>
#include <set>
int a[5001], n;
int x[5001], nx;
void read()
{
freopen("secv.in","r",stdin);
scanf("%d\n", &n);
for(int i=1;i<=n;++i) scanf("%d ", a+i);
set<int>Q;
for(int i=1;i<=n;++i) Q.insert(a[i]);
for(set<int>::iterator it=Q.begin();it!=Q.end();++it) x[++nx]=*it;
}
void solve()
{
int i, j, nmin=0x3f3f3f3f;
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;
}