Cod sursa(job #2166379)

Utilizator MateiDragomirDragomirMateiIoan MateiDragomir Data 13 martie 2018 16:50:40
Problema Secv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include<fstream>
#include<algorithm>
#define INF 10000

using namespace std;
ifstream in ("secv.in");
ofstream out ("secv.out");
int v[5002],c[5002],a[5002],i,j=1,n,m,x,minim=INF,k;

int main()
{
    in>>n;
    for(i=0; i<=5001; i++)v[i]=c[i]=a[i]=-INF;
    for(i=1; i<=n; i++)
    {
        in>>a[i];
          v[i]=a[i];
    }
    sort(v+1,v+n+1);
    for(i=1; i<=n; i++)
        if(v[i]!=c[j-1]) c[j++]=v[i];
    --j;
    m=j;
    for(x=1; x<=n; x++)
        if(a[x]==c[1])
        {
            k=0;
            for(j=1,i=x; j<=m&&i<=n;)
                if(a[i]==c[j])
                {
                    j++;
                    i++;
                    k++;
                }
                else
                {
                    i++;
                    k++;
                }
            if(j==m+1&&k<minim) minim=k;
        }
    if(minim!=INF) out<<minim<<'\n';
    else out<<"-1"<<'\n';
    return 0;
}