Cod sursa(job #1390505)

Utilizator teoceltareconstantin teodor teoceltare Data 17 martie 2015 08:43:20
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include<fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int v[100010],n,max1,nrmax1,a[2][100010];
void citire()
{
    fin>>n;
    for(int a1=1;a1<=n;a1++)
    {
        fin>>v[a1];
    }
}
void fct()
{
    for(int a1=n;a1>=1;a1--)
    {
        a[0][a1]=1;
        for(int a2=n;a2>a1;a2--)
        {
            if(v[a2]>v[a1] and a[0][a2]+1>a[0][a1])
            {
                a[0][a1]=a[0][a2]+1;
                a[1][a1]=a2;
            }
        }
        if(a[0][a1]>max1)
        {
            max1=a[0][a1];
            nrmax1=a1;
        }
    }
}
int main()
{
    citire();
    fct();
    fout<<max1<<endl;
    while(nrmax1!=0)
    {
        fout<<v[nrmax1]<<" ";
        nrmax1=a[1][nrmax1];
    }
}