Cod sursa(job #2244591)

Utilizator Anakin1001George Giorgiu Gica Anakin1001 Data 23 septembrie 2018 10:26:48
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>

using namespace std;
ifstream f ("scmax.in");
ofstream g ("scmax.out");
int i,j,maxi,k,poz,n,x[100001],v[100001],l[100001],sol[100001];
int main()
{   f>>n;
    for(i=1;i<=n;i++)
        x[i]=-1;
    maxi=1;
    for(i=1;i<=n;i++){
        f>>v[i];
        l[i]=1;
        for(j=i-1;j>=1;j--){
            if(v[i]>v[j]&&l[i]<l[j]+1){
                l[i]=l[j]+1;
                x[i]=j;

            }
        }
        if(maxi<l[i]){
            maxi=l[i];
            poz=i;
        }
    }
    g<<maxi<<'\n';
    k=0;
    while(poz>0){
        sol[++k]=v[poz];
        poz=x[poz];
    }
    for(i=k;i>=1;i--)
        g<<sol[i]<<' ';
    return 0;
}