Cod sursa(job #1636880)

Utilizator adystar00Bunea Andrei adystar00 Data 7 martie 2016 13:10:18
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>
using namespace std;
int v[100001],l[100001];
int main()
{
    ifstream fin ("scmax.in");
    ofstream fout ("scmax.out");
    int n,i,max=0,x;
    fin>>n;
    for(i=1; i<=n; i++)
        fin>>v[i];
    l[n]=1;
    for(i=n-1; i>0; i--)
    {
        x=i+1;
        while(v[x]<=v[i]&&x<=n)
            x++;
        if(x>n)
            l[i]=1;
        else
            l[i]=l[x]+1;
        if(l[i]>max)
            max=l[i];
    }
    fout<<max<<"\n";
    for(i=1; i<=n; i++)
        if(l[i]==max)
        {
            max--;
            fout<<v[i]<<" ";
        }
    return 0;
}