Cod sursa(job #1018609)

Utilizator vasandANDREI POP vasand Data 29 octombrie 2013 20:03:45
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
# include <iostream>
# include <fstream>
# include <cstdio>
# define nmax 100000
using namespace std;

int v[nmax], cate[nmax], pre[nmax], n, m, pm;

ifstream f("scmax.in");
ofstream g("scmax.out");

void pred(int x)
{
    if(x==0)
        return;
    else
    {
        pred(pre[x]);
        g<<v[x]<<" ";
    }
}

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

    for(i=1; i<=n; i++)
        for(j=i+1; j<=n; j++)
        {
            if((v[i]<v[j])&&(cate[j]<cate[i]+1))
            {
                cate[j]=cate[i]+1;
                if(cate[j]>m)
                {
                    m=cate[j];
                    pm=j;
                }
                pre[j]=i;
            }
        }
    g<<cate[pm]+1<<'\n';

    pred(pm);

    return 0;
}