Cod sursa(job #1857355)

Utilizator ioan_cernovshi00Cernovschi Ioan ioan_cernovshi00 Data 26 ianuarie 2017 08:45:27
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int n,i,lm,p,l[100001],a[100001];
void citire(int &m, int a[100001])
{
    f>>n;
    for(int i=1;i<=n;i++)
        f>>a[i];
}
void dinamica()
{
    int i,j,maxx;
    l[n]=1;
    for(i=n-1;i>=1;i--)
        {
            maxx=0;
            for(j=i+1;j<=n;j++)
                if(l[j]>maxx && a[i]<a[j])
                    maxx=l[j];
            l[i]=maxx+1;
            if(lm<l[i])
                lm=l[i];
        }
}
void drum()
{
    int t;
    t=0;
    p=1;
    g<<lm<<endl;
    do
    {
        while(l[p]!=lm || a[t]>a[p])
            p++;
        g<<a[p]<<" ";
        t=p;
        lm--;
    }while(lm);
}
int main()
{
    citire(n,a);
    dinamica();
    drum();
    return 0;
}