Cod sursa(job #1836944)

Utilizator medicinedoctoralexandru medicinedoctor Data 28 decembrie 2016 21:05:51
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream cin("scmax.in");
ofstream cout("scmax.out");

vector <int> a,vid;
vector <vector <int> > x(1);

void read()
{
    int n;
    cin >> n;
    a.resize(n);
    for (int i=0; i<a.size(); i++)
        cin >> a[i];

    x[0].resize(1);
    x[0][0]=a[0];
}

void write()
{
    unsigned int m=0,mx=x[0].size();
    for (int i=1; i<x.size(); i++)
        if (x[i].size()>mx)
        {
            mx=x[i].size();
            m=i;
        }
    cout << mx << '\n';
    for (int i=0; i<x[m].size(); i++)
        cout << x[m][i] << ' ';
}

main()
{
    read();
    for (int i=1; i<a.size(); i++)
    {
        for (int j=0; j<x.size(); j++)
            if (a[i]>x[j][x[j].size()-1]) x[j].push_back(a[i]);
        vid.push_back(a[i]);
        x.push_back(vid);
        vid.pop_back();
    }
    write();
}