Cod sursa(job #2525064)

Utilizator KnorbiKolozsi Norbert Knorbi Data 16 ianuarie 2020 19:15:46
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.83 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("scmax.in");
ofstream g("scmax.out");
int n,v[100000],hossz[100000];

int main()
{
    int maxhossz=0,leghosszabb=1,kezdet=1;
    f>>n;
    for(int i=0;i<n;i++)
        f>>v[i];
    hossz[n-1]=1;
    for (int i=n-2;i>=0;i--){
        maxhossz=0;
        for (int j=i+1;j<n;j++){
            if (v[j]>v[i]&&hossz[j]>maxhossz)
                maxhossz=hossz[j];
        }
        hossz[i]=maxhossz+1;
        if(hossz[i]>leghosszabb){
            leghosszabb=hossz[i];
            kezdet=i;
        }
    }
    g<<leghosszabb<<'\n';
    g<<v[kezdet]<<' ';
    for(int i=kezdet;i<n&&hossz[kezdet]!=1;i++){
        if (v[i]>v[kezdet]&&hossz[i]==hossz[kezdet]-1){
            g<<v[i]<<' ';
            kezdet=i;
        }
    }
    return 0;
}