Cod sursa(job #1669682)

Utilizator UngureanuRuxandraUngureanu Andreea Ruxandra UngureanuRuxandra Data 30 martie 2016 22:12:26
Problema Subsir 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
using namespace std;
ifstream f("subsir2.in");
ofstream g("subsir2.out");
int n,i,j,mi,nr,k,v[50001],l[50001],p[50001];
int main()
{f>>n;
for(i=1;i<=n;++i)
    f>>v[i];
    l[n]=1;
    p[n]=n;
   v[0]=-999999999;
    for (i=n;i>=0;--i)
{       mi=999999999;
        l[i]=999999999;
        for (j=i+1;j<=n;++j)
           if (v[j]<mi && v[i]<=v[j])
            {mi=v[j];
             nr=l[j]+1;
            if (l[i]==nr && v[j]<v[p[i]])
                    p[i]=j;
                if (nr<l[i])
                 {l[i]=nr;
                    p[i]=j;}}

        if (l[i]==999999999)
            {
            l[i]=1;
            p[i]=i;}}



    g<<l[0]-1<<'\n';
    k=0;
    while (k!=p[k])
        {

        k=p[k];
        g<<k<<" ";
    }
    g<<'\n';



    return 0;
}