Cod sursa(job #1109435)

Utilizator KillerSHChirila Stefan KillerSH Data 17 februarie 2014 10:01:08
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>

using namespace std;

int pre[100],a[100];

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

void afisare (int k)
{
    if (k==0)
        return ;
    afisare (pre[k]);
    g<<a[k]<<' ';
}

int main()
{
    int i,j,n,max=1,lg[100],nr=1;

    f>>n;
    for (i=1; i<=n; i++)
        f>>a[i];
    for (i=1; i<=n; i++)
    {
        lg[i]=1;
        pre[i]=0;
        for (j=i; j>0; j--)
            if (lg[i]<=lg[j] && a[i]>a[j])
            {
                lg[i]=lg[j]+1;
                pre[i]=j;
            }
        if (lg[max]<lg[i])
        {
            nr++;
            max=i;
        }

        //cout<<lg[i]<<' '<<pre[i]<<endl;
    }
    g<<nr<<endl;
    afisare (max);
}