Cod sursa(job #1428363)

Utilizator PlatonVPlaton Vlad PlatonV Data 4 mai 2015 11:38:17
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include <iostream>
#include <fstream>
#include <vector>
#define mx 100005
using namespace std;

ifstream f("scmax.in");
ofstream g("scmax.out");

vector<long> G[mx];
long r[mx];
int n;
int Lmax, indmax;

void Read()
{
    f>>n;
    for(int i=0;i<n;i++)
    {
        f>>r[i];
    }

}

void Solve()
{
    for(int i=0;i<n;i++)
    {
        G[i].push_back(r[i]);
        for(int j=i-1;j>=0;j--)
        {
            if(G[j][G[j].size()-1]<r[i])
            {
                G[j].push_back(r[i]);
                if(G[j].size()>Lmax)
                {
                    Lmax=G[j].size();
                    indmax=j;
                }
            }
        }
    }


}

void Print()
{
    g<<Lmax<<'\n';
    for(int j=0;j<G[indmax].size();j++)
    {
        g<<G[indmax][j]<<' ';
    }
}

int main()
{
    Read();
    Solve();
    Print();
    return 0;
}