Cod sursa(job #2009641)

Utilizator Cudrici_CarinaCudrici Carina Cudrici_Carina Data 10 august 2017 12:29:38
Problema Subsir crescator maximal Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
using namespace std;

ifstream fi("scmax.in");
ofstream fo("scmax.out");

int a[100005], poz[100005], aux[100005];
int i, j, n, maxi, x;

void afisare (int fx, int fp)
{
    while ( poz[fp] != fx) fp--;
    if (fx > 1) afisare (fx-1, fp-1);
    fo << a[fp]<<" ";
}

int main()
{
    fi >> n;
    for (i=1; i<=n; i++)  fi>>a[i];

    for (i=1; i<=n; i++)
    {
       for(j=1; a[i] > aux[j] && j<=maxi; j++);
        poz[i]=j;
        aux[j]=a[i];
        maxi=max(maxi, poz[i]);
    }

    fo << maxi <<"\n";
    afisare (maxi, n);
    //for(int i=1;i<=n;i++) fo<<poz[i]<< " ";fo<<'\n';
    //for(int i=1;i<=n;i++) fo<<aux[i]<< " ";fo<<'\n';
}