Cod sursa(job #1327181)

Utilizator dobrebogdanDobre Bogdan Mihai dobrebogdan Data 26 ianuarie 2015 14:17:41
Problema Secv Scor 10
Compilator cpp Status done
Runda simulareoji2015 Marime 0.8 kb
#include<cstdio>
#include<algorithm>
using namespace std;
int v[5005],sr[5005],nr[5005];
int main()
{
freopen("secv.in","r",stdin);
freopen("secv.out","w",stdout);
int n,i,m=0,j,l,ans;
ans=n+1;
scanf("%u",&n);
for(i=1;i<=n;i++)
{
    scanf("%d",&v[i]);
    sr[i]=v[i];
}
sort(sr+1,sr+n+1);
for(i=1;i<n;i++)
if(sr[i]!=sr[i+1])
{
    m++;
    nr[m]=sr[i];
}
if(n!=0)
{
m++;
nr[m]=sr[n];
}
if(m>1)
{
for(i=1;i<=n;i++)
    if(v[i]==nr[1])
{
    l=2;
    for(j=i+1;j<=n;j++)
    if(v[j]==nr[l])
    {
        if(l<m)
        {
            l++;
        }
        else
        {
            break;
        }
    }
    if(j<=n)
    {
    if(j-i+1<ans)
    ans=j-i+1;
    }
}
if(ans!=n+1)
printf("%d\n",ans);
else
printf("-1");
}
else
    printf("1\n");
    return 0;
}