Cod sursa(job #1365420)

Utilizator SebiCarhatCarhat Eusebiu SebiCarhat Data 28 februarie 2015 11:52:58
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include<fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int main()
{
    long n,lung[100000],urm[100000],a[100000],maxim=-1;
    int i,j,poz;
    f>>n;
    for(i=1;i<=n;++i)
        f>>a[i];
    for(i=n;i>=1;--i){
        lung[i]=1;
    for( j=n;j>i;--j )
        {
            if( a[i] < a[j] )
            if( lung[i] < lung[j]+1 )
            {
                lung[i]=lung[j]+1;
                urm[i]=j;
            }
        }
        if(lung[i]>maxim)
            {
                 maxim=lung[i];
                 poz=i;
            }
    }
        g<<maxim<<"\n";
    while(poz!=0)
        {
            g<<a[poz]<<" ";
            poz=urm[poz];
        }
    return 0;
}