Cod sursa(job #260720)

Utilizator alex@ndraAlexandra alex@ndra Data 17 februarie 2009 15:01:56
Problema Subsir crescator maximal Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<fstream>
#include<iostream>
using namespace std;
int a[100000],poz[100000],l[100000];
int main()
{
    long n,i, j,max,k, pozmax;
  ifstream f("scmax.in");
    f>>n;
  for(i=1;i<=n;i++)
    f>>a[i];
    f.close();
    l[n]=1;poz[n]=-1;
  for(i=n-1;i>=1;i--)
      for(j=i+1;j<=n;j++)
       if(a[i]<a[j]&&l[i]<=l[j])
        { 
         l[i]=l[j]+1;
          poz[i]=j;
          }
          
 max=l[1];pozmax=poz[1];
  for(i=2;i<=n;i++)
    if(l[i]>max)
      { max=l[i];
        pozmax=i;
        }
        
  ofstream g("scmax.out");
           g<<max<<endl;
        
for(i=pozmax;i!=-1;i=poz[i])
g<<a[i]<<" ";
    g.close();
    return 0;
}