Cod sursa(job #1777157)

Utilizator MotoAMotoi Alexandru MotoA Data 12 octombrie 2016 09:18:02
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int l[10],n,lmax,poz,a[10];
int dinamica()
{l[n]=1;
 int i,j;
 lmax=1;
 poz=n;
 for(i=n-1;i>=1;i--)
 {int maxs=0;
   for(j=i+1;j<=n;j++)
    if(a[i]<a[j] && l[j]>maxs)
     maxs=l[j];
   l[i]=maxs+1;
   if(l[i]>lmax)
   {lmax=l[i];
    poz =i;
   }
 }
 return lmax;
}
void subsir()
{for(int i=poz;i<=n;i++)
  if(l[i]==lmax && a[i]>=a[poz]){g<<a[i]<<' ';lmax--;}
}
int main()
{f>>n;
for(int i=1;i<=n;i++)
 f>>a[i];
 g<<dinamica()<<endl;
 subsir();
}