Cod sursa(job #1294410)

Utilizator MateiTMatei Tita MateiT Data 17 decembrie 2014 15:29:57
Problema Subsir crescator maximal Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include<iostream>
#include<fstream>
using namespace std;

ifstream fin("scmax.in");
ofstream fout("scmax.out");
int v[10001],lung[10001],pred[10001];
int n;

void citire()
{
    int i;
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>v[i];
}

void subsir(int p)
{
    if(pred[p]!=0)
        subsir(pred[p]);
    fout<<v[p]<<" ";
}

int main()
{
    int i,j,lmax;
    int maxim;
    citire();
    lung[1]=1;
    for(i=2;i<=n;i++)
    {
        lmax=0;
        for(j=1;j<i;j++)
            if(v[j]<v[i])
                if(lung[j]>lmax)
                {
                    lmax=lung[j];
                    pred[i]=j;
                    maxim=i;
                }
        lung[i]=1+lmax;
    }
    fout<<lung[maxim]<<'\n';
    subsir(maxim);
    return 0;
}