Cod sursa(job #2071903)

Utilizator frumcrsFrum Cristian-Mihai frumcrs Data 21 noiembrie 2017 09:54:03
Problema Subsir crescator maximal Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <iostream>
#include <fstream>

using namespace std;

int v[100000];
int a[100000];
int c[100000];

ifstream fin("scmax.in");
ofstream fout("scmax.out");

int main()
{
    int n,i,maxi,j,pozitie,x,t;
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>v[i];
    }
    a[1]=1;
    maxi=0;
    for(i=2;i<=n;i++)
    {
        for(j=1;j<=i-1;j++)
        {
            if(v[i]>v[j] && maxi<a[j])
            {
                maxi=a[j];
                pozitie=i;
            }
        }
        a[i]=maxi+1;
    }
   fout<<maxi+1;
   fout<<endl;
   t=1;
   while(pozitie>0)
   {
       if(x>v[pozitie])
       {
           c[t++]=v[pozitie];
           x=v[pozitie];
       }
       pozitie--;
   }
   for(i=t-1;i>=1;i--)
   {
       fout<<c[i]<<" ";
   }
}