Cod sursa(job #2351820)

Utilizator didiracoltaDiana Racolta didiracolta Data 22 februarie 2019 18:45:12
Problema Subsir crescator maximal Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.9 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=0,lgg,pre[101]={0};
   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=j;
                }
            }
        }
        if(!l){
            lung[i]=1;pre[i]=0;
        }
        else{
            lung[i]=lung[l]+1;
           pre[i]=l;
           if(lg<(lung[i])){
            lg=lung[i];
            lgg=i;
           }
            }
        }

    fout<<lg<<'\n';
   while(pre[lgg]>0)
   {
       fout<<a[lgg]<<" ";
       lgg=pre[lgg];
   }
   fout<<a[lgg];

   }