Cod sursa(job #802331)

Utilizator radusmart95Petrusan Radu radusmart95 Data 26 octombrie 2012 15:13:47
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int main()
{
    long long v[100],l[100],pm,max;
    int i,n,j,tata[100];
    f>>n;
    for (i=1;i<=n;i++) f>>v[i];
    l[n]=1;tata[n]=0;
    for (i=n-1;i>=1;i--)
    {
        max=0;
        for (j=i+1;j<=n;j++)
        if (v[i]<v[j] && l[j]>max) {
            max=l[j];
            pm=j;}
        l[i]=1+max;
        if (max==0) {tata[i]=0;l[i]=1;} else
        tata[i]=pm;
    }
    max=0;
    for (i=1;i<=n;i++) if (l[i]>max) {max=l[i]; j=i;}
    g<<max<<endl;
    i=j;
    while (i!=0) {g<<v[i]<<" ";i=tata[i];}

}