Cod sursa(job #1691306)

Utilizator Men_In_BlackMarco Polo Men_In_Black Data 17 aprilie 2016 21:10:39
Problema Secv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>

using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");

long n,m,v[5000],t[5000],c[5000],rez=2000000000;

int main()
{
    long i,j,k,x;
    fin>>n;
    for(i=0;i<n;i++){fin>>v[i];t[i]=v[i];}
    for(i=0;i<n;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==2000000000)fout<<-1;
else fout<<rez;
return 0;
}