Cod sursa(job #1369351)

Utilizator bianncaPoenar Bianca biannca Data 2 martie 2015 23:58:42
Problema Subsir crescator maximal Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include<fstream>
#define m 100000
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int a[m],mmax=0,n,l[m],t,mx,pozi;

int main()
{
    int i,j;
    fin>>n;
    l[n]=1;
    for(i=1;i<=n;i++)
    {
        fin>>a[i];
    }
    for(i=n-1;i>0;i--)
    {
        mx=0;
        for(j=i+1;j<=n;j++)
            if(a[j]>a[i] &&l[j]>mx)
        mx=l[j];
        l[i]=mx+1;
        if(l[i]>mmax)
        {
            mmax=l[i];
            pozi=i;
        }
    }
    fout<<mmax<<'\n';
    fout<<a[pozi]<<" ";
    for(i=pozi+1;i<=n;i++)
        if(a[i]>a[pozi] && l[i]==mmax-1)
        fout<<a[i]<<" ";
    return 0;
}