Cod sursa(job #1025067)

Utilizator SilviussMezei Silviu Silviuss Data 9 noiembrie 2013 14:37:49
Problema Secv Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
using namespace std;

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

int main()
{
    short n,*u,s=0,i,j,k,m=5555;
    int a[5000],*v;
    fin>>n;
    v=new int[n];
    u=new short[n];
    for(i=0;i<n;++i)
    {
        fin>>v[i];
        u[i]=1;
        for(j=0;j<i;++j)
            if(v[j]<v[i] && u[j]>=u[i])
                u[i]=u[j]+1;
        for(j=0;j<s;++j)
            if(v[i]==a[j])
                break;
        if(j==s)
        {
            a[j]=v[i];
            s++;
        }
    }
    for(i=s-1;i<n;++i)
        if(u[i]==s)
        {
            for(j=i,k=s;k>1;--j)
                if(u[j]==k-1)
                    k--;
            if(m>i-j)
                m=i-j;
        }
    if(m>n)
        fout<<-1;
    else
        if(m==0)
            fout<<1;
            else
                fout<<m;
}