Cod sursa(job #1715216)

Utilizator Alexandru_IulianAlexandru Iulian Alexandru_Iulian Data 10 iunie 2016 09:36:38
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>

using namespace std;
int n,i,j,a[100010],l[100010],lmax,ma;
int main()
{
    ifstream f ("scmax.in");
    ofstream g ("scmax.out");
    f>>n;
    for(i=1; i<=n; i++)
        f>>a[i];
    l[n]=1;
    for(i=n-1; i>=1; i--)
    {
        lmax=0;
        for(j=i+1; j<=n; j++)
            if(a[i]<a[j] && l[j]>lmax)
                lmax=l[j];
        l[i]=lmax+1;
    }
    int poz;
    ma=1;
    for(i=1; i<=n; i++)
        if(l[i]>ma)
        {
            ma=l[i];
            poz=i;
        }
    g<<ma<<'\n';
    int u=0;
    for(i=poz; i<=n; i++)
        if(a[i]>u && l[i]==ma)
        {
            g<<a[i]<<" ";
            u=a[i];
            ma--;
        }
    return 0;
}