Cod sursa(job #1010791)

Utilizator jul123Iulia Duta jul123 Data 15 octombrie 2013 18:38:50
Problema Subsir crescator maximal Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
    int n, v[10000], lg[10000], prec[10000], maxi, maxj, max, j, i;
    ifstream f("scmax.in");
    ofstream g("scmax.out");
    f>>n;
    for( i=0; i<n; i++ )
        f>>v[i];
    lg[0]=1;
    for( i=1; i<n; i++ )
    {
        max=0;
        for( j=0; j<i; j++ )
            if( lg[j] > max && v[i] > v[j] )
                {
                    max=lg[j];
                    maxj=j;
                }
        lg[i]=max+1;
        prec[i]=maxj;
    }
    max=0;
    for( i=0; i<n; i++ )
        if(lg[i]>max)
        {
            max=lg[i];
            maxi=i;
        }
    g<<max<<"\n";
    for( i=1; i<=max; i++ )
       {
        g<<v[maxi]<<" ";
        maxi=prec[maxi];
       }
       f.close();
       g.close();
       return 0;
}