Cod sursa(job #1792356)

Utilizator sebi110Ciobanu Sebastian sebi110 Data 30 octombrie 2016 13:05:49
Problema Subsir crescator maximal Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
vector <int> v[100000];
void adaug(int x)
{
    int i;
    if(v[v[0][0]][v[0][0]-1]<x)
    {
        for(i=0;i<v[0][0];i++)
            v[v[0][0]+1].push_back(v[v[0][0]][i]);
        v[0][0]++;
        v[v[0][0]].push_back(x);
        return ;
    }
    for(i=v[0][0];i>0;i--)
    {
        if(x<v[i][i-1])
        {
            v[i][i-1]=x;
            return ;
        }
    }
}
int main()
{
    int n,x,i;
    fin>>n;
    fin>>x;
    v[1].push_back(x);
    v[0].push_back(1);
    for(i=2;i<=n;i++)
    {
        fin>>x;
        adaug(x);
    }
    fout<<v[0][0]<<'\n';
    for(i=0;i<v[0][0];i++)
        fout<<v[v[0][0]][i]<<' ';
    return 0;
}