Cod sursa(job #2038960)

Utilizator dariab2001Daria Broscoteanu dariab2001 Data 14 octombrie 2017 10:20:07
Problema Subsir 2 Scor 16
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>

using namespace std;
ifstream f("subsir2.in");
ofstream g("subsir2.out");
int n,i,j,mi,p,l[50001],v[50001],t[50001];
int main()
{
    f>>n;
    for(i=1;i<=n;++i)
        f>>v[i];
    for(i=0;i<=n;++i)
        l[i]=999999999;
    v[0]=-999999999;
    l[n]=1;
    t[n]=n;
    for(i=n-1;i>=0;--i)
    {
        mi=999999999;
        for(j=i+1;j<=n;++j)
           { if(v[i]<v[j])
        {
            if(v[j]<mi)
               {
                mi=v[j];
            if(l[i]>l[j])
            {
                l[i]=l[j]+1;
                t[i]=j;
            }
        }}}
        if(l[i]==999999999)
        {
            l[i]=1;
            t[i]=i;
        }


    }
    p=0;
    while(p!=t[p])
    {
        g<<t[p]<<" ";
        p=t[p];
    }
    return 0;
}