Cod sursa(job #905119)

Utilizator ignadariusIgna Darius ignadarius Data 5 martie 2013 16:31:07
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include<fstream>

using namespace std;
long long  v[100000],n,i,L[100000],max1,mx,k,t;

int main(){
ifstream f("scmax.in");
ofstream g("scmax.out");
f>>n;
for(i=1;i<=n;i++) f>>v[i];
L[n]=1; //subsir maxim de lung 1
for(k=n-1;k>0;k--)
   {mx=0;
   for(i=k+1;i<=n;i++)
      if(v[i]>v[k] && L[i]>mx)
         mx=L[i];
   L[k]=mx+1;
   if(L[k]>max1)
      {max1=L[k];
      t=k;}
   }
max1;
//afisarea subsirului
g<<max1<<endl<<v[t]<<' ';
for(i=t+1;i<=n;i++)
  if ((v[i]>=v[t]) && (L[i]==max1-1))
     {g<<v[i]<<' ';
     max1--;}
return 0;
}