Cod sursa(job #545495)

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

     int main()
     {
         long max;
         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[i]=1;
            a_de_i=a[i];
            for(j=i+1;j<=n;j++)
            if(a_de_i<a[j]&&l[i]<1+l[j])
            {
            l[i]=1+l[j];poz[i]=j;
            if(l[i]>max)
            {max=l[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;
}