Cod sursa(job #2786882)

Utilizator Mihai_EduardMihai Eduard Mihai_Eduard Data 21 octombrie 2021 20:59:53
Problema Secv Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include<iostream>
#include<fstream>
using namespace std;
long n,m,v[5000],t[5000],c[5000],rez=1000000000;
main()
{
    int i,j,k,x;
    ifstream f("secv.in");
    ofstream fout("secv.out");
    f>>n;
    for(i=0;i<n;i++)
        {
            f>>v[i];
            t[i]=v[i];
        }
    for(i=0;i<n-1;i++)
        for(j=i+1;j<n;j++)
            if(t[i]>t[j])
    {
        x=t[i];
        t[i]=t[j];
        t[j]=x;
    }
    c[0]=t[0];
    m=1;
    for(i=1;i<n;i++)
        if(t[i]!=t[i-1])
            c[m++]=t[i];
    for(i=n-1;i>=0;i--)
    {
        if(v[i]==c[m-1])
        {
            for(k=i,j=m-2;j>=0;j--)
            {
                while(k>=0 && v[k]!=c[j])
                    k--;
                if(k<0)
                    break;
            }
            if(j==-1 && rez>i-k+1)
                rez=i-k+1;
        }
    }
    if(rez==1000000000)
        fout<<-1;
    else
        fout<<rez;
}