Cod sursa(job #1013743)

Utilizator WyvernFMI Stanescu Leonard Wyvern Data 21 octombrie 2013 17:42:09
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>
using namespace std;
long long v[100000],w[100000],x[100000],n,nr,nrmax;
ifstream fi("scmax.in");
ofstream fo("scmax.out");

void lung(long long p,long long nr) {
    for (long long i=p;i<=n;i++)
        if (v[i]>w[nr]) {
            nr++;
            w[nr]=v[i];
            lung(i+1,nr);
        }
    if (nr>nrmax) {
        for (long long j=1;j<=nr;j++)
            x[j]=w[j];
        nrmax=nr;
    }
}

int main()
{
    fi>>n;
    for (long long i=1;i<=n;i++)
        fi>>v[i];
    for (long long i=1;i<=n;i++) {
        nr=0;
        lung(i,nr);
    }
    fo<<nrmax<<'\n';
    for (long long i=1;i<=nrmax;i++)
        fo<<x[i]<<' ';
    return 0;
}