Cod sursa(job #2139445)

Utilizator DaniDijDijmarescu Daniel DaniDij Data 22 februarie 2018 15:55:10
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("scmax.in");
ofstream g ("scmax.out");
int i, j, v[100001], lungime[100001], pozitie[100001], p, Max, n;
int main()
{
    f>>n;
    for(i=1; i<=n; i++)
        f>>v[i];
    for(i=n; i>=1; i--)
    {
        lungime[i]=1;
        pozitie[i]=0;
        for(j=i+1; j<=n; j++)
            if(v[i]<v[j] && lungime[i]<1+lungime[j])
            {
                lungime[i]=1+lungime[j];
                pozitie[i]=j;
            }
        if(Max<lungime[i])
        {
            Max=lungime[i];
            p=i;
        }
    }
    g<<Max<<endl;
    for(i=p;i>0;i=pozitie[i])
        g<<v[i]<<" ";
}