Cod sursa(job #1010796)

Utilizator jul123Iulia Duta jul123 Data 15 octombrie 2013 18:44:43
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.93 kb
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
    int n, k, a[10000], 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";
    k=0;
    for( i=1; i<=max; i++ )
       {
        a[k]=v[maxi];
        maxi=prec[maxi];
        k++;
       }
    for(i=max-1; i>=0; i--)
        g<<a[i]<<" ";
       f.close();
       g.close();
       return 0;
}