Cod sursa(job #1691047)

Utilizator rusuradu12Rusu Radu rusuradu12 Data 16 aprilie 2016 18:23:00
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>

using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int i, j, n, maxi, poz;
int a[100001], b[100001], pos[100001];

int main()
{
    fin >> n;
    for(i=1; i<=n; i++)
        fin >> a[i];
    for(i=n; i>0; i--)
    {
        b[i]=1;
        for(j=i+1; j<=n; j++)
            if(a[i] < a[j] && b[i] < b[j]+1)
        {
            b[i] = b[j]+1;
            pos[i] = j;
        }
    if( b[i] > maxi )
    {
        maxi = b[i];
        poz = i;
    }
    }
    fout<<maxi<<'\n';
    for(i=poz; i>0; i=pos[i])
        fout<<a[i]<<" ";
        fin.close();
        fout.close();
    return 0;
}