Cod sursa(job #805679)

Utilizator cosminionutCosmin Ionut cosminionut Data 31 octombrie 2012 21:44:24
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");

int v[100001],lung[100001],n,lmax;

int main()
{
    f>>n;
    for(int jm=1;jm<=n;jm++)    f>>v[jm];
    lung[n]=1;

    int i;

    for(i=n-1;i>=1;i--)
        {for(int j=i+1;j<=n;j++)
            if(v[i]<v[j])
                if(lung[i]<lung[j]) lung[i]=lung[j];
            lung[i]++;
            if(lmax<lung[i]) lmax=lung[i];
        }
    g<<lmax<<'\n';

    for(i=1;i<=n;i++)
        if(lmax>=1)
            {if(lung[i]==lmax)   {g<<v[i]<<" ";lmax--;}
            }
        else
            break;
    return 0;
}