Cod sursa(job #1094187)

Utilizator Anca_PaneaPanea Anca Anca_Panea Data 28 ianuarie 2014 23:24:32
Problema Secv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream eu("secv.in");
ofstream tu("secv.out");
#define Nmax 5005
int N,X[Nmax],A[Nmax],B[Nmax],k=1,sol=Nmax;
int main()
{
    eu>>N;
    for(int i=1;i<=N;i++)
    {
        eu>>X[i];
        A[i]=X[i];
    }
    sort(A+1,A+1+N);
    B[1]=A[1];
    for(int i=2;i<=N;i++)
        if(A[i]!=A[i-1])
            B[++k]=A[i];
    for(int i=1;i<=N;i++)
    {
        if(X[i]==B[1])
        {
            for(int j=i,h=0;j<=N;++j)
            {
                if(X[j]==B[h+1])
                    ++h;
                if(h==k)
                    sol=min(sol,j-i+1);
            }
        }
    }
    if(sol==Nmax)
        tu<<-1<<"\n";
    else
        tu<<sol<<'\n';
    return 0;
}