Cod sursa(job #1185702)

Utilizator Barcau_EmanuelBarcau Emanuel Barcau_Emanuel Data 16 mai 2014 14:24:12
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
long v[100005],n,l[100005],p[100005],i,max1,poz,j;

void afis(int k)
{
    if(v[k]!=0)
    {
        g<<v[k]<<" ";
        afis(l[k]);
    }
}

int main()
{
    f>>n;
    for(i=1;i<=n;i++) f>>v[i];

    for(i=n;i>=1;i--)
    {
        for(j=i+1;j<=n;j++)
        {
            if(v[i]<v[j])
              if(p[i]<p[j])
               {
                   p[i]=p[j];
                   l[i]=j;
               }
        }
        p[i]++;
        if(p[i]>max1)
        {
            max1=p[i];
            poz=i;
        }
    }

    g<<max1<<"\n";

    afis(poz);

    return 0;
}