Cod sursa(job #2252056)

Utilizator PeraPera Alexandru Pera Data 2 octombrie 2018 11:50:48
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int n,i,j,Max,poz,k,V[100001],sol[100001],tt[100001],l[100001];
int main()
{fin>>n;
Max=0; poz=0;
 for(i=1;i<=n;i++){
     l[i]=1;
     tt[i]=0;
     for(j=i-1;j>=1;j--){
         if(V[i]>V[j])
            if(l[i]<l[j]+1){
               l[i]=l[j]+1;
               tt[i]=j;
               }
     }
    if(l[i]>Max){
       Max=l[i];
       poz=i;
    }
 }
 fout<<Max<<"\n";
 k=Max;
 while(k>0){
       sol[k]=poz;
       poz=tt[poz];
       k--;
 }
 for(i=1;i<=Max;i++)
    fout<<V[sol[i]]<<" ";

    return 0;
}