Cod sursa(job #545500)

Utilizator sanda-mariaPatras Sanda sanda-maria Data 3 martie 2011 14:32:08
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.93 kb
//#include<iostream>
#include<fstream>
using namespace std;
long a[100001],n,l[100001],poz[1000001],i,j,pozmax;

     int main()
     {
         long max;
         long * pozitie,*l_de_i;
         ifstream f("scmax.in");
         f>>n;
     
         for(i=1;i<=n;i++)
         f>>a[i];
         f.close();
     
         max=-1;pozmax=1;
         l[n]=1;
     //    poz[n]=-1;
         int a_de_i;
         for(i=n-1;i>=1;i--)
         {l_de_i=l+i;
            *l_de_i=1;
            pozitie=poz+i;
            a_de_i=a[i];
            for(j=i+1;j<=n;j++)
            if(a_de_i<a[j]&&*l_de_i<1+l[j])
            {
            *l_de_i=1+l[j];
            *pozitie=j;
            if(*l_de_i>max)
            {max=*l_de_i;
            pozmax=i;
            }
            }
         }
    ofstream g("scmax.out");
    g<<max<<"\n";
    for(i=pozmax;i!=0;i=poz[i])
    g<<a[i]<<" ";
    g.close();
    return 0;
}