Cod sursa(job #2285596)

Utilizator dianaICHBghita diana dianaICHB Data 18 noiembrie 2018 19:44:12
Problema Secv Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.24 kb
#include <cstdio>
#include <algorithm>
using namespace std;
int v[5005],v2[5005];
int main()
{
    int n,i,j=0,min1=6000,poz,k;
    freopen("secv.in","r",stdin);
    freopen("secv.out","w",stdout);
    scanf("%d",&n);
    for(i=1; i<=n; i++)
    {
        scanf("%d",&v[i]);
        v2[i]=v[i];
    }
    sort(v2+1,v2+n+1);
    v2[0]=-1;
    for(i=1; i<=n; i++)
    {
     if(v2[i]!=v2[i-1])
     {
         j++;
      v2[j]=v2[i];
     }
    }
    if(j==1)
        printf("1");
    else
    {
        for(i=1; i<=n-j+1; i++)
        {
         if(v[i]==v2[1])
            {
                poz=2;
                for(k=i+1; k<=n; k++)
                {
                    if(v[k]==v2[poz])
                    {
                        poz++;
                        if(poz==j+1)
                        {
                            if (min1<k-i+1)
                            min1=min1;
                            else
                                min1=k-i+1;
                            k=n+1;
                        }
                    }
                }
            }
        }
        if(min1!=6000)
            printf("%d",min1);
        else
            printf("-1");
    }
    return 0;
}