Cod sursa(job #2351801)

Utilizator didiracoltaDiana Racolta didiracolta Data 22 februarie 2019 18:23:46
Problema Subsir crescator maximal Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.83 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int main()
{
   int n,a[101],lung[101]={0},l=0,lg=1;
   fin>>n;
   for(int i=1;i<=n;i++){
        fin>>a[i];
   }
   lung[n]=1;
   for(int i=n-1;i>=1;i--){
        long long minn=100000000;
        l=0;
        for(int j=i+1;j<=n;j++){
            if(a[j]>a[i]){
                if(a[j]<minn){
                    minn=a[j];
                    l=lung[j];
                }
            }
        }
        if(!l){
            lung[i]=1;
        }
        else{
            lung[i]=l+1;
            if(l+1>lg){
                lg=l+1;
            }
        }
   }
    fout<<lg<<'\n';
   for(int i=1;i<=n;i++){
        if(lung[i]==lg){
            fout<<a[i]<<" ";
            lg--;
        }
   }
}