Cod sursa(job #407587)

Utilizator al_flAlexandru Flavian al_fl Data 2 martie 2010 14:28:29
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include<fstream.h>
#include<iostream.h>
#define Nmax 100
ifstream f("scmax.in");
ofstream g("scmax.out");
int v[Nmax],l[Nmax],poz[Nmax],n;
void citire()
{
    f>>n;
    for(int i=1;i<=n;i++)
        f>>v[i];
 f.close();
}
void pd()
{
    int i,j;
    l[n]=1;poz[n]=-1;
    for(i=n-1;i>0;i--)
        for(l[i]=1,poz[i]=-1,j=i+1;j<=n;j++)
            if(v[i]<v[j] && l[i]<1+l[j])
            {
                l[i]=1+l[j];
                poz[i]=j;
            }
}
void max()
{
    int max=l[1],pozmax=1;
    for(int i=2;i<=n;i++)
        if(max<l[i]) {max=l[i];pozmax=i;}
            g<<max<<' '<<endl;
    for(int j=pozmax;j!=-1;j=poz[j])
            g<<v[j]<<' ';
    g.close();
}
int main()
{
    citire();
    pd();
    max();
    return 0;
}