Cod sursa(job #1397977)

Utilizator Corneliu10Dumitru Corneliu Corneliu10 Data 23 martie 2015 21:19:02
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>
#define NMAX 100004
using namespace std;
int A[NMAX],B[NMAX];
int s[NMAX];
int main()
{
    int l,maxx,n,i,j,maxpoz,maxt=0;
    ifstream f("scmax.in");
    ofstream g("scmax.out");
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>A[i];
        l=1;maxx=1;
        for(j=1;j<i;j++)
            if(A[j]<A[i] && B[j]+1>maxx) l=B[j]+1;
        B[i]=l;
        if(B[i]>maxt)
        {
            maxt=B[i];
            maxpoz=i;
        }
    }
    g<<maxt<<"\n";
    int val=maxt;
    for(i=maxpoz;i>0;i--)
        if(B[i]==val)
        {
            s[i]=A[i];
            val--;
        }
    for(i=1;i<=maxpoz;i++)
        if(s[i]) g<<s[i]<<" ";
}